aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSchanzenbach, Martin <mschanzenbach@posteo.de>2019-11-30 10:20:24 +0100
committerSchanzenbach, Martin <mschanzenbach@posteo.de>2019-11-30 10:20:24 +0100
commite9ad4ee3550aeb0ff67fd98ddebafbd5f54dad3d (patch)
tree13f46c6cc728011e92b2cd30f6ce1f23e2d36473
parent64c75b64f46f8437f940ce74017641e509cf4c54 (diff)
downloadgnunet-e9ad4ee3550aeb0ff67fd98ddebafbd5f54dad3d.tar.gz
gnunet-e9ad4ee3550aeb0ff67fd98ddebafbd5f54dad3d.zip
support compatibility mode for DNS names in gnunet-gns
-rw-r--r--po/POTFILES.in96
-rw-r--r--src/gns/Makefile.am11
-rw-r--r--src/gns/gnunet-gns.c66
-rw-r--r--src/gns/nss/nss_gns_query.c3
4 files changed, 121 insertions, 55 deletions
diff --git a/po/POTFILES.in b/po/POTFILES.in
index ac81d134a..45cabc7cd 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
@@ -49,8 +49,8 @@ src/cadet/cadet_api_list_peers.c
49src/cadet/cadet_api_list_tunnels.c 49src/cadet/cadet_api_list_tunnels.c
50src/cadet/cadet_test_lib.c 50src/cadet/cadet_test_lib.c
51src/cadet/desirability_table.c 51src/cadet/desirability_table.c
52src/cadet/gnunet-cadet.c
53src/cadet/gnunet-cadet-profiler.c 52src/cadet/gnunet-cadet-profiler.c
53src/cadet/gnunet-cadet.c
54src/cadet/gnunet-service-cadet.c 54src/cadet/gnunet-service-cadet.c
55src/cadet/gnunet-service-cadet_channel.c 55src/cadet/gnunet-service-cadet_channel.c
56src/cadet/gnunet-service-cadet_connection.c 56src/cadet/gnunet-service-cadet_connection.c
@@ -66,15 +66,15 @@ src/consensus/gnunet-service-consensus.c
66src/consensus/plugin_block_consensus.c 66src/consensus/plugin_block_consensus.c
67src/conversation/conversation_api.c 67src/conversation/conversation_api.c
68src/conversation/conversation_api_call.c 68src/conversation/conversation_api_call.c
69src/conversation/gnunet-conversation.c
70src/conversation/gnunet-conversation-test.c 69src/conversation/gnunet-conversation-test.c
71src/conversation/gnunet_gst.c 70src/conversation/gnunet-conversation.c
72src/conversation/gnunet_gst_test.c
73src/conversation/gnunet-helper-audio-playback.c
74src/conversation/gnunet-helper-audio-playback-gst.c 71src/conversation/gnunet-helper-audio-playback-gst.c
75src/conversation/gnunet-helper-audio-record.c 72src/conversation/gnunet-helper-audio-playback.c
76src/conversation/gnunet-helper-audio-record-gst.c 73src/conversation/gnunet-helper-audio-record-gst.c
74src/conversation/gnunet-helper-audio-record.c
77src/conversation/gnunet-service-conversation.c 75src/conversation/gnunet-service-conversation.c
76src/conversation/gnunet_gst.c
77src/conversation/gnunet_gst_test.c
78src/conversation/microphone.c 78src/conversation/microphone.c
79src/conversation/plugin_gnsrecord_conversation.c 79src/conversation/plugin_gnsrecord_conversation.c
80src/conversation/speaker.c 80src/conversation/speaker.c
@@ -104,7 +104,6 @@ src/dht/dht_api.c
104src/dht/dht_test_lib.c 104src/dht/dht_test_lib.c
105src/dht/gnunet-dht-get.c 105src/dht/gnunet-dht-get.c
106src/dht/gnunet-dht-monitor.c 106src/dht/gnunet-dht-monitor.c
107src/dht/gnunet_dht_profiler.c
108src/dht/gnunet-dht-put.c 107src/dht/gnunet-dht-put.c
109src/dht/gnunet-service-dht.c 108src/dht/gnunet-service-dht.c
110src/dht/gnunet-service-dht_clients.c 109src/dht/gnunet-service-dht_clients.c
@@ -113,6 +112,7 @@ src/dht/gnunet-service-dht_hello.c
113src/dht/gnunet-service-dht_neighbours.c 112src/dht/gnunet-service-dht_neighbours.c
114src/dht/gnunet-service-dht_nse.c 113src/dht/gnunet-service-dht_nse.c
115src/dht/gnunet-service-dht_routing.c 114src/dht/gnunet-service-dht_routing.c
115src/dht/gnunet_dht_profiler.c
116src/dht/plugin_block_dht.c 116src/dht/plugin_block_dht.c
117src/dns/dns_api.c 117src/dns/dns_api.c
118src/dns/gnunet-dns-monitor.c 118src/dns/gnunet-dns-monitor.c
@@ -147,8 +147,8 @@ src/fs/gnunet-auto-share.c
147src/fs/gnunet-daemon-fsprofiler.c 147src/fs/gnunet-daemon-fsprofiler.c
148src/fs/gnunet-directory.c 148src/fs/gnunet-directory.c
149src/fs/gnunet-download.c 149src/fs/gnunet-download.c
150src/fs/gnunet-fs.c
151src/fs/gnunet-fs-profiler.c 150src/fs/gnunet-fs-profiler.c
151src/fs/gnunet-fs.c
152src/fs/gnunet-helper-fs-publish.c 152src/fs/gnunet-helper-fs-publish.c
153src/fs/gnunet-publish.c 153src/fs/gnunet-publish.c
154src/fs/gnunet-search.c 154src/fs/gnunet-search.c
@@ -168,9 +168,9 @@ src/gns/gns_tld_api.c
168src/gns/gnunet-bcd.c 168src/gns/gnunet-bcd.c
169src/gns/gnunet-dns2gns.c 169src/gns/gnunet-dns2gns.c
170src/gns/gnunet-gns-benchmark.c 170src/gns/gnunet-gns-benchmark.c
171src/gns/gnunet-gns.c
172src/gns/gnunet-gns-import.c 171src/gns/gnunet-gns-import.c
173src/gns/gnunet-gns-proxy.c 172src/gns/gnunet-gns-proxy.c
173src/gns/gnunet-gns.c
174src/gns/gnunet-service-gns.c 174src/gns/gnunet-service-gns.c
175src/gns/gnunet-service-gns_interceptor.c 175src/gns/gnunet-service-gns_interceptor.c
176src/gns/gnunet-service-gns_resolver.c 176src/gns/gnunet-service-gns_resolver.c
@@ -186,8 +186,8 @@ src/gnsrecord/gnsrecord_serialization.c
186src/gnsrecord/plugin_gnsrecord_dns.c 186src/gnsrecord/plugin_gnsrecord_dns.c
187src/hello/address.c 187src/hello/address.c
188src/hello/gnunet-hello.c 188src/hello/gnunet-hello.c
189src/hello/hello.c
190src/hello/hello-ng.c 189src/hello/hello-ng.c
190src/hello/hello.c
191src/hostlist/gnunet-daemon-hostlist.c 191src/hostlist/gnunet-daemon-hostlist.c
192src/hostlist/gnunet-daemon-hostlist_client.c 192src/hostlist/gnunet-daemon-hostlist_client.c
193src/hostlist/gnunet-daemon-hostlist_server.c 193src/hostlist/gnunet-daemon-hostlist_server.c
@@ -212,8 +212,8 @@ src/namecache/namecache_api.c
212src/namecache/plugin_namecache_flat.c 212src/namecache/plugin_namecache_flat.c
213src/namecache/plugin_namecache_postgres.c 213src/namecache/plugin_namecache_postgres.c
214src/namecache/plugin_namecache_sqlite.c 214src/namecache/plugin_namecache_sqlite.c
215src/namestore/gnunet-namestore.c
216src/namestore/gnunet-namestore-fcfsd.c 215src/namestore/gnunet-namestore-fcfsd.c
216src/namestore/gnunet-namestore.c
217src/namestore/gnunet-service-namestore.c 217src/namestore/gnunet-service-namestore.c
218src/namestore/gnunet-zoneimport.c 218src/namestore/gnunet-zoneimport.c
219src/namestore/namestore_api.c 219src/namestore/namestore_api.c
@@ -239,17 +239,17 @@ src/nat/gnunet-service-nat_mini.c
239src/nat/gnunet-service-nat_stun.c 239src/nat/gnunet-service-nat_stun.c
240src/nat/nat_api.c 240src/nat/nat_api.c
241src/nat/nat_api_stun.c 241src/nat/nat_api_stun.c
242src/nse/gnunet-nse.c
243src/nse/gnunet-nse-profiler.c 242src/nse/gnunet-nse-profiler.c
243src/nse/gnunet-nse.c
244src/nse/gnunet-service-nse.c 244src/nse/gnunet-service-nse.c
245src/nse/nse_api.c 245src/nse/nse_api.c
246src/nt/nt.c 246src/nt/nt.c
247src/peerinfo/gnunet-service-peerinfo.c
248src/peerinfo/peerinfo_api.c
249src/peerinfo/peerinfo_api_notify.c
250src/peerinfo-tool/gnunet-peerinfo.c 247src/peerinfo-tool/gnunet-peerinfo.c
251src/peerinfo-tool/gnunet-peerinfo_plugins.c 248src/peerinfo-tool/gnunet-peerinfo_plugins.c
252src/peerinfo-tool/plugin_rest_peerinfo.c 249src/peerinfo-tool/plugin_rest_peerinfo.c
250src/peerinfo/gnunet-service-peerinfo.c
251src/peerinfo/peerinfo_api.c
252src/peerinfo/peerinfo_api_notify.c
253src/peerstore/gnunet-peerstore.c 253src/peerstore/gnunet-peerstore.c
254src/peerstore/gnunet-service-peerstore.c 254src/peerstore/gnunet-service-peerstore.c
255src/peerstore/peerstore_api.c 255src/peerstore/peerstore_api.c
@@ -297,22 +297,22 @@ src/revocation/gnunet-revocation.c
297src/revocation/gnunet-service-revocation.c 297src/revocation/gnunet-service-revocation.c
298src/revocation/plugin_block_revocation.c 298src/revocation/plugin_block_revocation.c
299src/revocation/revocation_api.c 299src/revocation/revocation_api.c
300src/rps/gnunet-rps.c
301src/rps/gnunet-rps-profiler.c 300src/rps/gnunet-rps-profiler.c
301src/rps/gnunet-rps.c
302src/rps/gnunet-service-rps.c 302src/rps/gnunet-service-rps.c
303src/rps/gnunet-service-rps_custommap.c 303src/rps/gnunet-service-rps_custommap.c
304src/rps/gnunet-service-rps_sampler.c 304src/rps/gnunet-service-rps_sampler.c
305src/rps/gnunet-service-rps_sampler_elem.c 305src/rps/gnunet-service-rps_sampler_elem.c
306src/rps/gnunet-service-rps_view.c 306src/rps/gnunet-service-rps_view.c
307src/rps/rps_api.c
308src/rps/rps-sampler_client.c 307src/rps/rps-sampler_client.c
309src/rps/rps-sampler_common.c 308src/rps/rps-sampler_common.c
310src/rps/rps-test_util.c 309src/rps/rps-test_util.c
310src/rps/rps_api.c
311src/scalarproduct/gnunet-scalarproduct.c 311src/scalarproduct/gnunet-scalarproduct.c
312src/scalarproduct/gnunet-service-scalarproduct_alice.c
313src/scalarproduct/gnunet-service-scalarproduct_bob.c
314src/scalarproduct/gnunet-service-scalarproduct-ecc_alice.c 312src/scalarproduct/gnunet-service-scalarproduct-ecc_alice.c
315src/scalarproduct/gnunet-service-scalarproduct-ecc_bob.c 313src/scalarproduct/gnunet-service-scalarproduct-ecc_bob.c
314src/scalarproduct/gnunet-service-scalarproduct_alice.c
315src/scalarproduct/gnunet-service-scalarproduct_bob.c
316src/scalarproduct/scalarproduct_api.c 316src/scalarproduct/scalarproduct_api.c
317src/secretsharing/gnunet-secretsharing-profiler.c 317src/secretsharing/gnunet-secretsharing-profiler.c
318src/secretsharing/gnunet-service-secretsharing.c 318src/secretsharing/gnunet-service-secretsharing.c
@@ -338,15 +338,16 @@ src/statistics/gnunet-statistics.c
338src/statistics/statistics_api.c 338src/statistics/statistics_api.c
339src/template/gnunet-service-template.c 339src/template/gnunet-service-template.c
340src/template/gnunet-template.c 340src/template/gnunet-template.c
341src/testbed-logger/gnunet-service-testbed-logger.c
342src/testbed-logger/testbed_logger_api.c
341src/testbed/generate-underlay-topology.c 343src/testbed/generate-underlay-topology.c
342src/testbed/gnunet-daemon-latency-logger.c 344src/testbed/gnunet-daemon-latency-logger.c
343src/testbed/gnunet-daemon-testbed-blacklist.c 345src/testbed/gnunet-daemon-testbed-blacklist.c
344src/testbed/gnunet-daemon-testbed-underlay.c 346src/testbed/gnunet-daemon-testbed-underlay.c
345src/testbed/gnunet-helper-testbed.c 347src/testbed/gnunet-helper-testbed.c
346src/testbed/gnunet_mpi_test.c
347src/testbed/gnunet-service-test-barriers.c 348src/testbed/gnunet-service-test-barriers.c
348src/testbed/gnunet-service-testbed_barriers.c
349src/testbed/gnunet-service-testbed.c 349src/testbed/gnunet-service-testbed.c
350src/testbed/gnunet-service-testbed_barriers.c
350src/testbed/gnunet-service-testbed_cache.c 351src/testbed/gnunet-service-testbed_cache.c
351src/testbed/gnunet-service-testbed_connectionpool.c 352src/testbed/gnunet-service-testbed_connectionpool.c
352src/testbed/gnunet-service-testbed_cpustatus.c 353src/testbed/gnunet-service-testbed_cpustatus.c
@@ -354,20 +355,19 @@ src/testbed/gnunet-service-testbed_links.c
354src/testbed/gnunet-service-testbed_meminfo.c 355src/testbed/gnunet-service-testbed_meminfo.c
355src/testbed/gnunet-service-testbed_oc.c 356src/testbed/gnunet-service-testbed_oc.c
356src/testbed/gnunet-service-testbed_peers.c 357src/testbed/gnunet-service-testbed_peers.c
357src/testbed/gnunet_testbed_mpi_spawn.c
358src/testbed/gnunet-testbed-profiler.c 358src/testbed/gnunet-testbed-profiler.c
359src/testbed-logger/gnunet-service-testbed-logger.c 359src/testbed/gnunet_mpi_test.c
360src/testbed-logger/testbed_logger_api.c 360src/testbed/gnunet_testbed_mpi_spawn.c
361src/testbed/testbed_api_barriers.c
362src/testbed/testbed_api.c 361src/testbed/testbed_api.c
362src/testbed/testbed_api_barriers.c
363src/testbed/testbed_api_hosts.c 363src/testbed/testbed_api_hosts.c
364src/testbed/testbed_api_operations.c 364src/testbed/testbed_api_operations.c
365src/testbed/testbed_api_peers.c 365src/testbed/testbed_api_peers.c
366src/testbed/testbed_api_sd.c 366src/testbed/testbed_api_sd.c
367src/testbed/testbed_api_services.c 367src/testbed/testbed_api_services.c
368src/testbed/testbed_api_statistics.c 368src/testbed/testbed_api_statistics.c
369src/testbed/testbed_api_testbed.c
370src/testbed/testbed_api_test.c 369src/testbed/testbed_api_test.c
370src/testbed/testbed_api_testbed.c
371src/testbed/testbed_api_topology.c 371src/testbed/testbed_api_topology.c
372src/testbed/testbed_api_underlay.c 372src/testbed/testbed_api_underlay.c
373src/testing/gnunet-testing.c 373src/testing/gnunet-testing.c
@@ -379,34 +379,40 @@ src/transport/gnunet-communicator-tcp.c
379src/transport/gnunet-communicator-udp.c 379src/transport/gnunet-communicator-udp.c
380src/transport/gnunet-communicator-unix.c 380src/transport/gnunet-communicator-unix.c
381src/transport/gnunet-helper-transport-bluetooth.c 381src/transport/gnunet-helper-transport-bluetooth.c
382src/transport/gnunet-helper-transport-wlan.c
383src/transport/gnunet-helper-transport-wlan-dummy.c 382src/transport/gnunet-helper-transport-wlan-dummy.c
383src/transport/gnunet-helper-transport-wlan.c
384src/transport/gnunet-service-tng.c 384src/transport/gnunet-service-tng.c
385src/transport/gnunet-service-transport_ats.c
386src/transport/gnunet-service-transport.c 385src/transport/gnunet-service-transport.c
386src/transport/gnunet-service-transport_ats.c
387src/transport/gnunet-service-transport_hello.c 387src/transport/gnunet-service-transport_hello.c
388src/transport/gnunet-service-transport_manipulation.c 388src/transport/gnunet-service-transport_manipulation.c
389src/transport/gnunet-service-transport_neighbours.c 389src/transport/gnunet-service-transport_neighbours.c
390src/transport/gnunet-service-transport_plugins.c 390src/transport/gnunet-service-transport_plugins.c
391src/transport/gnunet-service-transport_validation.c 391src/transport/gnunet-service-transport_validation.c
392src/transport/gnunet-transport.c
393src/transport/gnunet-transport-profiler.c 392src/transport/gnunet-transport-profiler.c
394src/transport/gnunet-transport-wlan-receiver.c 393src/transport/gnunet-transport-wlan-receiver.c
395src/transport/gnunet-transport-wlan-sender.c 394src/transport/gnunet-transport-wlan-sender.c
395src/transport/gnunet-transport.c
396src/transport/plugin_transport_http_client.c 396src/transport/plugin_transport_http_client.c
397src/transport/plugin_transport_http_common.c 397src/transport/plugin_transport_http_common.c
398src/transport/plugin_transport_http_server.c 398src/transport/plugin_transport_http_server.c
399src/transport/plugin_transport_smtp.c 399src/transport/plugin_transport_smtp.c
400src/transport/plugin_transport_tcp.c 400src/transport/plugin_transport_tcp.c
401src/transport/plugin_transport_template.c 401src/transport/plugin_transport_template.c
402src/transport/plugin_transport_udp_broadcasting.c
403src/transport/plugin_transport_udp.c 402src/transport/plugin_transport_udp.c
403src/transport/plugin_transport_udp_broadcasting.c
404src/transport/plugin_transport_unix.c 404src/transport/plugin_transport_unix.c
405src/transport/plugin_transport_wlan.c 405src/transport/plugin_transport_wlan.c
406src/transport/tcp_connection_legacy.c 406src/transport/tcp_connection_legacy.c
407src/transport/tcp_server_legacy.c 407src/transport/tcp_server_legacy.c
408src/transport/tcp_server_mst_legacy.c 408src/transport/tcp_server_mst_legacy.c
409src/transport/tcp_service_legacy.c 409src/transport/tcp_service_legacy.c
410src/transport/transport-testing-filenames.c
411src/transport/transport-testing-loggers.c
412src/transport/transport-testing-main.c
413src/transport/transport-testing-send.c
414src/transport/transport-testing.c
415src/transport/transport-testing2.c
410src/transport/transport_api2_application.c 416src/transport/transport_api2_application.c
411src/transport/transport_api2_communication.c 417src/transport/transport_api2_communication.c
412src/transport/transport_api2_core.c 418src/transport/transport_api2_core.c
@@ -419,12 +425,6 @@ src/transport/transport_api_manipulation.c
419src/transport/transport_api_monitor_peers.c 425src/transport/transport_api_monitor_peers.c
420src/transport/transport_api_monitor_plugins.c 426src/transport/transport_api_monitor_plugins.c
421src/transport/transport_api_offer_hello.c 427src/transport/transport_api_offer_hello.c
422src/transport/transport-testing2.c
423src/transport/transport-testing.c
424src/transport/transport-testing-filenames.c
425src/transport/transport-testing-loggers.c
426src/transport/transport-testing-main.c
427src/transport/transport-testing-send.c
428src/util/bandwidth.c 428src/util/bandwidth.c
429src/util/benchmark.c 429src/util/benchmark.c
430src/util/bio.c 430src/util/bio.c
@@ -437,8 +437,8 @@ src/util/configuration_loader.c
437src/util/container_bloomfilter.c 437src/util/container_bloomfilter.c
438src/util/container_heap.c 438src/util/container_heap.c
439src/util/container_meta_data.c 439src/util/container_meta_data.c
440src/util/container_multihashmap32.c
441src/util/container_multihashmap.c 440src/util/container_multihashmap.c
441src/util/container_multihashmap32.c
442src/util/container_multipeermap.c 442src/util/container_multipeermap.c
443src/util/container_multishortmap.c 443src/util/container_multishortmap.c
444src/util/container_multiuuidmap.c 444src/util/container_multiuuidmap.c
@@ -461,8 +461,8 @@ src/util/dnsparser.c
461src/util/dnsstub.c 461src/util/dnsstub.c
462src/util/getopt.c 462src/util/getopt.c
463src/util/getopt_helpers.c 463src/util/getopt_helpers.c
464src/util/gnunet-config.c
465src/util/gnunet-config-diff.c 464src/util/gnunet-config-diff.c
465src/util/gnunet-config.c
466src/util/gnunet-ecc.c 466src/util/gnunet-ecc.c
467src/util/gnunet-qr.c 467src/util/gnunet-qr.c
468src/util/gnunet-resolver.c 468src/util/gnunet-resolver.c
@@ -499,8 +499,8 @@ src/vpn/gnunet-helper-vpn.c
499src/vpn/gnunet-service-vpn.c 499src/vpn/gnunet-service-vpn.c
500src/vpn/gnunet-vpn.c 500src/vpn/gnunet-vpn.c
501src/vpn/vpn_api.c 501src/vpn/vpn_api.c
502src/zonemaster/gnunet-service-zonemaster.c
503src/zonemaster/gnunet-service-zonemaster-monitor.c 502src/zonemaster/gnunet-service-zonemaster-monitor.c
503src/zonemaster/gnunet-service-zonemaster.c
504src/fs/fs_api.h 504src/fs/fs_api.h
505src/testbed/testbed_api.h 505src/testbed/testbed_api.h
506src/testbed/testbed_api_operations.h 506src/testbed/testbed_api_operations.h
diff --git a/src/gns/Makefile.am b/src/gns/Makefile.am
index 846507b6f..bb319ce6e 100644
--- a/src/gns/Makefile.am
+++ b/src/gns/Makefile.am
@@ -10,7 +10,17 @@ SUBDIRS = . $(NSS_SUBDIR)
10pkgdata_DATA = \ 10pkgdata_DATA = \
11 gnunet-gns-proxy-ca.template 11 gnunet-gns-proxy-ca.template
12 12
13if HAVE_LIBIDN
14 LIBIDN= -lidn
15else
16 LIBIDN=
17endif
13 18
19if HAVE_LIBIDN2
20 LIBIDN2= -lidn2
21else
22 LIBIDN2=
23endif
14 24
15EXTRA_DIST = \ 25EXTRA_DIST = \
16 test_gns_defaults.conf \ 26 test_gns_defaults.conf \
@@ -139,6 +149,7 @@ gnunet_gns_LDADD = \
139 libgnunetgns.la \ 149 libgnunetgns.la \
140 $(top_builddir)/src/gnsrecord/libgnunetgnsrecord.la \ 150 $(top_builddir)/src/gnsrecord/libgnunetgnsrecord.la \
141 $(top_builddir)/src/util/libgnunetutil.la \ 151 $(top_builddir)/src/util/libgnunetutil.la \
152 $(LIBIDN) $(LIBIDN2) \
142 $(GN_LIBINTL) 153 $(GN_LIBINTL)
143 154
144gnunet_gns_benchmark_SOURCES = \ 155gnunet_gns_benchmark_SOURCES = \
diff --git a/src/gns/gnunet-gns.c b/src/gns/gnunet-gns.c
index c3ba0a1f8..fe51013ed 100644
--- a/src/gns/gnunet-gns.c
+++ b/src/gns/gnunet-gns.c
@@ -23,12 +23,26 @@
23 * @author Christian Grothoff 23 * @author Christian Grothoff
24 */ 24 */
25#include "platform.h" 25#include "platform.h"
26#if HAVE_LIBIDN2
27#if HAVE_IDN2_H
28#include <idn2.h>
29#elif HAVE_IDN2_IDN2_H
30#include <idn2/idn2.h>
31#endif
32#elif HAVE_LIBIDN
33#if HAVE_IDNA_H
34#include <idna.h>
35#elif HAVE_IDN_IDNA_H
36#include <idn/idna.h>
37#endif
38#endif
26#include <gnunet_util_lib.h> 39#include <gnunet_util_lib.h>
27#include <gnunet_dnsparser_lib.h> 40#include <gnunet_dnsparser_lib.h>
28#include <gnunet_gnsrecord_lib.h> 41#include <gnunet_gnsrecord_lib.h>
29#include <gnunet_namestore_service.h> 42#include <gnunet_namestore_service.h>
30#include <gnunet_gns_service.h> 43#include <gnunet_gns_service.h>
31 44
45
32/** 46/**
33 * Configuration we are using. 47 * Configuration we are using.
34 */ 48 */
@@ -45,6 +59,16 @@ static struct GNUNET_GNS_Handle *gns;
45static char *lookup_name; 59static char *lookup_name;
46 60
47/** 61/**
62 * DNS IDNA name to lookup. (set if -d option is set)
63 */
64char *idna_name;
65
66/**
67 * DNS compatibility (name is given as DNS name, possible IDNA).
68 */
69static int dns_compat;
70
71/**
48 * record type to look up (-t option) 72 * record type to look up (-t option)
49 */ 73 */
50static char *lookup_type; 74static char *lookup_type;
@@ -108,6 +132,11 @@ do_shutdown (void *cls)
108 GNUNET_GNS_disconnect (gns); 132 GNUNET_GNS_disconnect (gns);
109 gns = NULL; 133 gns = NULL;
110 } 134 }
135 if (NULL != idna_name)
136 {
137 GNUNET_free (idna_name);
138 idna_name = NULL;
139 }
111} 140}
112 141
113 142
@@ -200,6 +229,7 @@ run (void *cls,
200 (void) cls; 229 (void) cls;
201 (void) args; 230 (void) args;
202 (void) cfgfile; 231 (void) cfgfile;
232 Idna_rc rc;
203 233
204 cfg = c; 234 cfg = c;
205 to_task = NULL; 235 to_task = NULL;
@@ -209,13 +239,32 @@ run (void *cls,
209 if (NULL != (colon = strchr (lookup_name, ':'))) 239 if (NULL != (colon = strchr (lookup_name, ':')))
210 *colon = '\0'; 240 *colon = '\0';
211 } 241 }
212 if (GNUNET_OK != GNUNET_DNSPARSER_check_name (lookup_name)) 242 /**
243 * If DNS compatibility is requested, we first verify that the
244 * lookup_name is in a DNS format. If yes, we convert it to UTF-8.
245 */
246 if (GNUNET_YES == dns_compat)
213 { 247 {
214 fprintf (stderr, 248 if (GNUNET_OK != GNUNET_DNSPARSER_check_name (lookup_name))
215 _ ("`%s' is not a valid domain name\n"), 249 {
216 lookup_name); 250 fprintf (stderr,
217 global_ret = 3; 251 _ ("`%s' is not a valid DNS domain name\n"),
218 return; 252 lookup_name);
253 global_ret = 3;
254 return;
255 }
256 if (IDNA_SUCCESS !=
257 (rc = idna_to_unicode_8z8z (lookup_name, &idna_name,
258 IDNA_ALLOW_UNASSIGNED)))
259 {
260 fprintf (stderr,
261 _ ("Failed to convert DNS IDNA name `%s' to UTF-8: %s\n"),
262 lookup_name,
263 idna_strerror (rc));
264 global_ret = 3;
265 return;
266 }
267 lookup_name = idna_name;
219 } 268 }
220 if (GNUNET_YES != 269 if (GNUNET_YES !=
221 GNUNET_CLIENT_test (cfg, 270 GNUNET_CLIENT_test (cfg,
@@ -299,6 +348,11 @@ main (int argc, char *const *argv)
299 "raw", 348 "raw",
300 gettext_noop ("No unneeded output"), 349 gettext_noop ("No unneeded output"),
301 &raw), 350 &raw),
351 GNUNET_GETOPT_option_flag ('d',
352 "dns",
353 gettext_noop (
354 "DNS Compatibility: Name is passed in IDNA instead of UTF-8"),
355 &dns_compat),
302 GNUNET_GETOPT_OPTION_END }; 356 GNUNET_GETOPT_OPTION_END };
303 int ret; 357 int ret;
304 358
diff --git a/src/gns/nss/nss_gns_query.c b/src/gns/nss/nss_gns_query.c
index 9ebdcb31f..c79ae61f7 100644
--- a/src/gns/nss/nss_gns_query.c
+++ b/src/gns/nss/nss_gns_query.c
@@ -71,7 +71,8 @@ gns_resolve_name (int af, const char *name, struct userdata *u)
71 if (0 == pid) 71 if (0 == pid)
72 { 72 {
73 char *argv[] = { "gnunet-gns", 73 char *argv[] = { "gnunet-gns",
74 "-r", 74 "-r", //Raw output for easier parsing
75 "-d", //DNS compatibility (allow IDNA names, no UTF-8)
75 "-t", 76 "-t",
76 (AF_INET6 == af) ? "AAAA" : "A", 77 (AF_INET6 == af) ? "AAAA" : "A",
77 "-u", 78 "-u",