aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/handbook/chapters/user.texi109
-rw-r--r--po/POTFILES.in114
-rw-r--r--src/include/Makefile.am1
-rw-r--r--src/include/gnu_name_system_record_types.h129
-rw-r--r--src/include/gnunet_gnsrecord_lib.h104
-rw-r--r--src/reclaim/plugin_gnsrecord_reclaim.c3
6 files changed, 195 insertions, 265 deletions
diff --git a/doc/handbook/chapters/user.texi b/doc/handbook/chapters/user.texi
index ebc1a7979..5d5d2fe14 100644
--- a/doc/handbook/chapters/user.texi
+++ b/doc/handbook/chapters/user.texi
@@ -1539,7 +1539,12 @@ authoritative zone (replacing ".+" with the name of the location
1539where the name was encountered) and hence generate a 1539where the name was encountered) and hence generate a
1540valid GNS name. 1540valid GNS name.
1541 1541
1542GNS currently supports the following record types: 1542The GNS currently supports the record types as defined in
1543@uref{https://git.gnunet.org/gana.git/tree/gnu-name-system-record-types/registry.rec, GANA}.
1544In addition, GNS supports DNS record types, such as A, AAAA or TXT.
1545
1546In the following, we discuss GNS records with specific behaviour or special
1547handling of DNS records.
1543 1548
1544@menu 1549@menu
1545* NICK:: 1550* NICK::
@@ -1547,22 +1552,9 @@ GNS currently supports the following record types:
1547* BOX:: 1552* BOX::
1548* LEHO:: 1553* LEHO::
1549* VPN:: 1554* VPN::
1550* A AAAA and TXT::
1551* CNAME:: 1555* CNAME::
1552* GNS2DNS:: 1556* GNS2DNS::
1553* SOA SRV PTR and MX:: 1557* SOA SRV PTR and MX::
1554* PLACE::
1555* PHONE::
1556* ID ATTR::
1557* ID TOKEN::
1558* ID TOKEN METADATA::
1559* CREDENTIAL::
1560* POLICY::
1561* ATTRIBUTE::
1562* ABE KEY::
1563* ABE MASTER::
1564* RECLAIM OIDC CLIENT::
1565* RECLAIM OIDC REDIRECT::
1566@end menu 1558@end menu
1567 1559
1568@node NICK 1560@node NICK
@@ -1658,11 +1650,6 @@ having the following lines in the @file{gnunet.conf} configuration file:
1658TCP_REDIRECTS = 80:localhost4:8080 1650TCP_REDIRECTS = 80:localhost4:8080
1659@end example 1651@end example
1660 1652
1661@node A AAAA and TXT
1662@subsubsection A AAAA and TXT
1663
1664Those records work in exactly the same fashion as in traditional DNS.
1665
1666@node CNAME 1653@node CNAME
1667@subsubsection CNAME 1654@subsubsection CNAME
1668 1655
@@ -1771,90 +1758,6 @@ $ gnunet-namestore -a -n mail -t MX -z bar -e 3600s -V \
1771> "10,mail.bar" 1758> "10,mail.bar"
1772@end example 1759@end example
1773 1760
1774@node PLACE
1775@subsubsection PLACE
1776
1777@c TODO describe record type and give an example of how and
1778@c when to use it
1779Record type for a social place.
1780
1781@node PHONE
1782@subsubsection PHONE
1783
1784@c TODO describe record type and give an example of how and
1785@c when to use it
1786Record type for a phone (of CONVERSATION).
1787
1788@node ID ATTR
1789@subsubsection ID ATTR
1790
1791@c TODO describe record type and give an example of how and
1792@c when to use it
1793Record type for identity attributes (of IDENTITY).
1794
1795@node ID TOKEN
1796@subsubsection ID TOKEN
1797
1798@c TODO describe record type and give an example of how and
1799@c when to use it
1800Record type for an identity token (of IDENTITY-TOKEN).
1801
1802@node ID TOKEN METADATA
1803@subsubsection ID TOKEN METADATA
1804
1805@c TODO describe record type and give an example of how and
1806@c when to use it
1807Record type for the private metadata of an identity token (of IDENTITY-TOKEN).
1808
1809@node CREDENTIAL
1810@subsubsection CREDENTIAL
1811
1812@c TODO describe record type and give an example of how and
1813@c when to use it
1814Record type for credential.
1815
1816@node POLICY
1817@subsubsection POLICY
1818
1819@c TODO describe record type and give an example of how and
1820@c when to use it
1821Record type for policies.
1822
1823@node ATTRIBUTE
1824@subsubsection ATTRIBUTE
1825
1826@c TODO describe record type and give an example of how and
1827@c when to use it
1828Record type for reverse lookups.
1829
1830@node ABE KEY
1831@subsubsection ABE KEY
1832
1833@c TODO describe record type and give an example of how and
1834@c when to use it
1835Record type for ABE records.
1836
1837@node ABE MASTER
1838@subsubsection ABE MASTER
1839
1840@c TODO describe record type and give an example of how and
1841@c when to use it
1842Record type for ABE master keys.
1843
1844@node RECLAIM OIDC CLIENT
1845@subsubsection RECLAIM OIDC CLIENT
1846
1847@c TODO describe record type and give an example of how and
1848@c when to use it
1849Record type for reclaim OIDC clients.
1850
1851@node RECLAIM OIDC REDIRECT
1852@subsubsection RECLAIM OIDC REDIRECT
1853
1854@c TODO describe record type and give an example of how and
1855@c when to use it
1856Record type for reclaim OIDC redirect URIs.
1857
1858@node Synchronizing with legacy DNS 1761@node Synchronizing with legacy DNS
1859@subsection Synchronizing with legacy DNS 1762@subsection Synchronizing with legacy DNS
1860 1763
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 9dcfb81cf..51ada43b3 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_contact.c 210src/messenger/gnunet-service-messenger_contact.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
@@ -236,8 +236,8 @@ src/namecache/namecache_api.c
236src/namecache/plugin_namecache_flat.c 236src/namecache/plugin_namecache_flat.c
237src/namecache/plugin_namecache_postgres.c 237src/namecache/plugin_namecache_postgres.c
238src/namecache/plugin_namecache_sqlite.c 238src/namecache/plugin_namecache_sqlite.c
239src/namestore/gnunet-namestore.c
240src/namestore/gnunet-namestore-fcfsd.c 239src/namestore/gnunet-namestore-fcfsd.c
240src/namestore/gnunet-namestore.c
241src/namestore/gnunet-service-namestore.c 241src/namestore/gnunet-service-namestore.c
242src/namestore/gnunet-zoneimport.c 242src/namestore/gnunet-zoneimport.c
243src/namestore/namestore_api.c 243src/namestore/namestore_api.c
@@ -263,17 +263,17 @@ src/nat/gnunet-service-nat_mini.c
263src/nat/gnunet-service-nat_stun.c 263src/nat/gnunet-service-nat_stun.c
264src/nat/nat_api.c 264src/nat/nat_api.c
265src/nat/nat_api_stun.c 265src/nat/nat_api_stun.c
266src/nse/gnunet-nse.c
267src/nse/gnunet-nse-profiler.c 266src/nse/gnunet-nse-profiler.c
267src/nse/gnunet-nse.c
268src/nse/gnunet-service-nse.c 268src/nse/gnunet-service-nse.c
269src/nse/nse_api.c 269src/nse/nse_api.c
270src/nt/nt.c 270src/nt/nt.c
271src/peerinfo/gnunet-service-peerinfo.c
272src/peerinfo/peerinfo_api.c
273src/peerinfo/peerinfo_api_notify.c
274src/peerinfo-tool/gnunet-peerinfo.c 271src/peerinfo-tool/gnunet-peerinfo.c
275src/peerinfo-tool/gnunet-peerinfo_plugins.c 272src/peerinfo-tool/gnunet-peerinfo_plugins.c
276src/peerinfo-tool/plugin_rest_peerinfo.c 273src/peerinfo-tool/plugin_rest_peerinfo.c
274src/peerinfo/gnunet-service-peerinfo.c
275src/peerinfo/peerinfo_api.c
276src/peerinfo/peerinfo_api_notify.c
277src/peerstore/gnunet-peerstore.c 277src/peerstore/gnunet-peerstore.c
278src/peerstore/gnunet-service-peerstore.c 278src/peerstore/gnunet-service-peerstore.c
279src/peerstore/peerstore_api.c 279src/peerstore/peerstore_api.c
@@ -319,27 +319,27 @@ src/rest/gnunet-rest-server.c
319src/rest/plugin_rest_config.c 319src/rest/plugin_rest_config.c
320src/rest/plugin_rest_copying.c 320src/rest/plugin_rest_copying.c
321src/rest/rest.c 321src/rest/rest.c
322src/revocation/gnunet-revocation.c
323src/revocation/gnunet-revocation-tvg.c 322src/revocation/gnunet-revocation-tvg.c
323src/revocation/gnunet-revocation.c
324src/revocation/gnunet-service-revocation.c 324src/revocation/gnunet-service-revocation.c
325src/revocation/plugin_block_revocation.c 325src/revocation/plugin_block_revocation.c
326src/revocation/revocation_api.c 326src/revocation/revocation_api.c
327src/rps/gnunet-rps.c
328src/rps/gnunet-rps-profiler.c 327src/rps/gnunet-rps-profiler.c
328src/rps/gnunet-rps.c
329src/rps/gnunet-service-rps.c 329src/rps/gnunet-service-rps.c
330src/rps/gnunet-service-rps_custommap.c 330src/rps/gnunet-service-rps_custommap.c
331src/rps/gnunet-service-rps_sampler.c 331src/rps/gnunet-service-rps_sampler.c
332src/rps/gnunet-service-rps_sampler_elem.c 332src/rps/gnunet-service-rps_sampler_elem.c
333src/rps/gnunet-service-rps_view.c 333src/rps/gnunet-service-rps_view.c
334src/rps/rps_api.c
335src/rps/rps-sampler_client.c 334src/rps/rps-sampler_client.c
336src/rps/rps-sampler_common.c 335src/rps/rps-sampler_common.c
337src/rps/rps-test_util.c 336src/rps/rps-test_util.c
337src/rps/rps_api.c
338src/scalarproduct/gnunet-scalarproduct.c 338src/scalarproduct/gnunet-scalarproduct.c
339src/scalarproduct/gnunet-service-scalarproduct_alice.c
340src/scalarproduct/gnunet-service-scalarproduct_bob.c
341src/scalarproduct/gnunet-service-scalarproduct-ecc_alice.c 339src/scalarproduct/gnunet-service-scalarproduct-ecc_alice.c
342src/scalarproduct/gnunet-service-scalarproduct-ecc_bob.c 340src/scalarproduct/gnunet-service-scalarproduct-ecc_bob.c
341src/scalarproduct/gnunet-service-scalarproduct_alice.c
342src/scalarproduct/gnunet-service-scalarproduct_bob.c
343src/scalarproduct/scalarproduct_api.c 343src/scalarproduct/scalarproduct_api.c
344src/secretsharing/gnunet-secretsharing-profiler.c 344src/secretsharing/gnunet-secretsharing-profiler.c
345src/secretsharing/gnunet-service-secretsharing.c 345src/secretsharing/gnunet-service-secretsharing.c
@@ -353,12 +353,12 @@ src/set/gnunet-set-ibf-profiler.c
353src/set/gnunet-set-profiler.c 353src/set/gnunet-set-profiler.c
354src/set/ibf.c 354src/set/ibf.c
355src/set/ibf_sim.c 355src/set/ibf_sim.c
356src/set/plugin_block_set_test.c
357src/set/set_api.c
356src/seti/gnunet-service-seti.c 358src/seti/gnunet-service-seti.c
357src/seti/gnunet-seti-profiler.c 359src/seti/gnunet-seti-profiler.c
358src/seti/plugin_block_seti_test.c 360src/seti/plugin_block_seti_test.c
359src/seti/seti_api.c 361src/seti/seti_api.c
360src/set/plugin_block_set_test.c
361src/set/set_api.c
362src/setu/gnunet-service-setu.c 362src/setu/gnunet-service-setu.c
363src/setu/gnunet-service-setu_strata_estimator.c 363src/setu/gnunet-service-setu_strata_estimator.c
364src/setu/gnunet-setu-ibf-profiler.c 364src/setu/gnunet-setu-ibf-profiler.c
@@ -377,15 +377,16 @@ src/statistics/gnunet-statistics.c
377src/statistics/statistics_api.c 377src/statistics/statistics_api.c
378src/template/gnunet-service-template.c 378src/template/gnunet-service-template.c
379src/template/gnunet-template.c 379src/template/gnunet-template.c
380src/testbed-logger/gnunet-service-testbed-logger.c
381src/testbed-logger/testbed_logger_api.c
380src/testbed/generate-underlay-topology.c 382src/testbed/generate-underlay-topology.c
381src/testbed/gnunet-daemon-latency-logger.c 383src/testbed/gnunet-daemon-latency-logger.c
382src/testbed/gnunet-daemon-testbed-blacklist.c 384src/testbed/gnunet-daemon-testbed-blacklist.c
383src/testbed/gnunet-daemon-testbed-underlay.c 385src/testbed/gnunet-daemon-testbed-underlay.c
384src/testbed/gnunet-helper-testbed.c 386src/testbed/gnunet-helper-testbed.c
385src/testbed/gnunet_mpi_test.c
386src/testbed/gnunet-service-test-barriers.c 387src/testbed/gnunet-service-test-barriers.c
387src/testbed/gnunet-service-testbed_barriers.c
388src/testbed/gnunet-service-testbed.c 388src/testbed/gnunet-service-testbed.c
389src/testbed/gnunet-service-testbed_barriers.c
389src/testbed/gnunet-service-testbed_cache.c 390src/testbed/gnunet-service-testbed_cache.c
390src/testbed/gnunet-service-testbed_connectionpool.c 391src/testbed/gnunet-service-testbed_connectionpool.c
391src/testbed/gnunet-service-testbed_cpustatus.c 392src/testbed/gnunet-service-testbed_cpustatus.c
@@ -393,20 +394,19 @@ src/testbed/gnunet-service-testbed_links.c
393src/testbed/gnunet-service-testbed_meminfo.c 394src/testbed/gnunet-service-testbed_meminfo.c
394src/testbed/gnunet-service-testbed_oc.c 395src/testbed/gnunet-service-testbed_oc.c
395src/testbed/gnunet-service-testbed_peers.c 396src/testbed/gnunet-service-testbed_peers.c
396src/testbed/gnunet_testbed_mpi_spawn.c
397src/testbed/gnunet-testbed-profiler.c 397src/testbed/gnunet-testbed-profiler.c
398src/testbed-logger/gnunet-service-testbed-logger.c 398src/testbed/gnunet_mpi_test.c
399src/testbed-logger/testbed_logger_api.c 399src/testbed/gnunet_testbed_mpi_spawn.c
400src/testbed/testbed_api_barriers.c
401src/testbed/testbed_api.c 400src/testbed/testbed_api.c
401src/testbed/testbed_api_barriers.c
402src/testbed/testbed_api_hosts.c 402src/testbed/testbed_api_hosts.c
403src/testbed/testbed_api_operations.c 403src/testbed/testbed_api_operations.c
404src/testbed/testbed_api_peers.c 404src/testbed/testbed_api_peers.c
405src/testbed/testbed_api_sd.c 405src/testbed/testbed_api_sd.c
406src/testbed/testbed_api_services.c 406src/testbed/testbed_api_services.c
407src/testbed/testbed_api_statistics.c 407src/testbed/testbed_api_statistics.c
408src/testbed/testbed_api_testbed.c
409src/testbed/testbed_api_test.c 408src/testbed/testbed_api_test.c
409src/testbed/testbed_api_testbed.c
410src/testbed/testbed_api_topology.c 410src/testbed/testbed_api_topology.c
411src/testbed/testbed_api_underlay.c 411src/testbed/testbed_api_underlay.c
412src/testing/gnunet-testing.c 412src/testing/gnunet-testing.c
@@ -418,34 +418,45 @@ src/transport/gnunet-communicator-tcp.c
418src/transport/gnunet-communicator-udp.c 418src/transport/gnunet-communicator-udp.c
419src/transport/gnunet-communicator-unix.c 419src/transport/gnunet-communicator-unix.c
420src/transport/gnunet-helper-transport-bluetooth.c 420src/transport/gnunet-helper-transport-bluetooth.c
421src/transport/gnunet-helper-transport-wlan.c
422src/transport/gnunet-helper-transport-wlan-dummy.c 421src/transport/gnunet-helper-transport-wlan-dummy.c
422src/transport/gnunet-helper-transport-wlan.c
423src/transport/gnunet-service-tng.c 423src/transport/gnunet-service-tng.c
424src/transport/gnunet-service-transport_ats.c
425src/transport/gnunet-service-transport.c 424src/transport/gnunet-service-transport.c
425src/transport/gnunet-service-transport_ats.c
426src/transport/gnunet-service-transport_hello.c 426src/transport/gnunet-service-transport_hello.c
427src/transport/gnunet-service-transport_manipulation.c 427src/transport/gnunet-service-transport_manipulation.c
428src/transport/gnunet-service-transport_neighbours.c 428src/transport/gnunet-service-transport_neighbours.c
429src/transport/gnunet-service-transport_plugins.c 429src/transport/gnunet-service-transport_plugins.c
430src/transport/gnunet-service-transport_validation.c 430src/transport/gnunet-service-transport_validation.c
431src/transport/gnunet-transport.c
432src/transport/gnunet-transport-profiler.c 431src/transport/gnunet-transport-profiler.c
433src/transport/gnunet-transport-wlan-receiver.c 432src/transport/gnunet-transport-wlan-receiver.c
434src/transport/gnunet-transport-wlan-sender.c 433src/transport/gnunet-transport-wlan-sender.c
434src/transport/gnunet-transport.c
435src/transport/plugin_transport_http_client.c 435src/transport/plugin_transport_http_client.c
436src/transport/plugin_transport_http_common.c 436src/transport/plugin_transport_http_common.c
437src/transport/plugin_transport_http_server.c 437src/transport/plugin_transport_http_server.c
438src/transport/plugin_transport_smtp.c 438src/transport/plugin_transport_smtp.c
439src/transport/plugin_transport_tcp.c 439src/transport/plugin_transport_tcp.c
440src/transport/plugin_transport_template.c 440src/transport/plugin_transport_template.c
441src/transport/plugin_transport_udp_broadcasting.c
442src/transport/plugin_transport_udp.c 441src/transport/plugin_transport_udp.c
442src/transport/plugin_transport_udp_broadcasting.c
443src/transport/plugin_transport_unix.c 443src/transport/plugin_transport_unix.c
444src/transport/plugin_transport_wlan.c 444src/transport/plugin_transport_wlan.c
445src/transport/tcp_connection_legacy.c 445src/transport/tcp_connection_legacy.c
446src/transport/tcp_server_legacy.c 446src/transport/tcp_server_legacy.c
447src/transport/tcp_server_mst_legacy.c 447src/transport/tcp_server_mst_legacy.c
448src/transport/tcp_service_legacy.c 448src/transport/tcp_service_legacy.c
449src/transport/transport-testing-communicator.c
450src/transport/transport-testing-filenames.c
451src/transport/transport-testing-filenames2.c
452src/transport/transport-testing-loggers.c
453src/transport/transport-testing-loggers2.c
454src/transport/transport-testing-main.c
455src/transport/transport-testing-main2.c
456src/transport/transport-testing-send.c
457src/transport/transport-testing-send2.c
458src/transport/transport-testing.c
459src/transport/transport-testing2.c
449src/transport/transport_api2_application.c 460src/transport/transport_api2_application.c
450src/transport/transport_api2_communication.c 461src/transport/transport_api2_communication.c
451src/transport/transport_api2_core.c 462src/transport/transport_api2_core.c
@@ -458,17 +469,6 @@ src/transport/transport_api_manipulation.c
458src/transport/transport_api_monitor_peers.c 469src/transport/transport_api_monitor_peers.c
459src/transport/transport_api_monitor_plugins.c 470src/transport/transport_api_monitor_plugins.c
460src/transport/transport_api_offer_hello.c 471src/transport/transport_api_offer_hello.c
461src/transport/transport-testing2.c
462src/transport/transport-testing.c
463src/transport/transport-testing-communicator.c
464src/transport/transport-testing-filenames2.c
465src/transport/transport-testing-filenames.c
466src/transport/transport-testing-loggers2.c
467src/transport/transport-testing-loggers.c
468src/transport/transport-testing-main2.c
469src/transport/transport-testing-main.c
470src/transport/transport-testing-send2.c
471src/transport/transport-testing-send.c
472src/util/bandwidth.c 472src/util/bandwidth.c
473src/util/benchmark.c 473src/util/benchmark.c
474src/util/bio.c 474src/util/bio.c
@@ -483,8 +483,8 @@ src/util/consttime_memcmp.c
483src/util/container_bloomfilter.c 483src/util/container_bloomfilter.c
484src/util/container_heap.c 484src/util/container_heap.c
485src/util/container_meta_data.c 485src/util/container_meta_data.c
486src/util/container_multihashmap32.c
487src/util/container_multihashmap.c 486src/util/container_multihashmap.c
487src/util/container_multihashmap32.c
488src/util/container_multipeermap.c 488src/util/container_multipeermap.c
489src/util/container_multishortmap.c 489src/util/container_multishortmap.c
490src/util/container_multiuuidmap.c 490src/util/container_multiuuidmap.c
@@ -508,8 +508,8 @@ src/util/dnsparser.c
508src/util/dnsstub.c 508src/util/dnsstub.c
509src/util/getopt.c 509src/util/getopt.c
510src/util/getopt_helpers.c 510src/util/getopt_helpers.c
511src/util/gnunet-config.c
512src/util/gnunet-config-diff.c 511src/util/gnunet-config-diff.c
512src/util/gnunet-config.c
513src/util/gnunet-crypto-tvg.c 513src/util/gnunet-crypto-tvg.c
514src/util/gnunet-ecc.c 514src/util/gnunet-ecc.c
515src/util/gnunet-qr.c 515src/util/gnunet-qr.c
@@ -547,8 +547,8 @@ src/vpn/gnunet-helper-vpn.c
547src/vpn/gnunet-service-vpn.c 547src/vpn/gnunet-service-vpn.c
548src/vpn/gnunet-vpn.c 548src/vpn/gnunet-vpn.c
549src/vpn/vpn_api.c 549src/vpn/vpn_api.c
550src/zonemaster/gnunet-service-zonemaster.c
551src/zonemaster/gnunet-service-zonemaster-monitor.c 550src/zonemaster/gnunet-service-zonemaster-monitor.c
551src/zonemaster/gnunet-service-zonemaster.c
552src/fs/fs_api.h 552src/fs/fs_api.h
553src/testbed/testbed_api.h 553src/testbed/testbed_api.h
554src/testbed/testbed_api_operations.h 554src/testbed/testbed_api_operations.h
diff --git a/src/include/Makefile.am b/src/include/Makefile.am
index 5569c87ed..a4d7b985d 100644
--- a/src/include/Makefile.am
+++ b/src/include/Makefile.am
@@ -53,6 +53,7 @@ gnunetinclude_HEADERS = \
53 gnunet_gnsrecord_lib.h \ 53 gnunet_gnsrecord_lib.h \
54 gnunet_gnsrecord_json_lib.h \ 54 gnunet_gnsrecord_json_lib.h \
55 gnunet_gnsrecord_plugin.h \ 55 gnunet_gnsrecord_plugin.h \
56 gnu_name_system_record_types.h \
56 gnunet_hello_lib.h \ 57 gnunet_hello_lib.h \
57 gnunet_helper_lib.h \ 58 gnunet_helper_lib.h \
58 gnunet_identity_service.h \ 59 gnunet_identity_service.h \
diff --git a/src/include/gnu_name_system_record_types.h b/src/include/gnu_name_system_record_types.h
new file mode 100644
index 000000000..1af49c6e4
--- /dev/null
+++ b/src/include/gnu_name_system_record_types.h
@@ -0,0 +1,129 @@
1/*
2 This file is part of GNUnet
3 Copyright (C) 2012-2020 GNUnet e.V.
4
5 GNUnet is free software: you can redistribute it and/or modify it
6 under the terms of the GNU Affero General Public License as published
7 by the Free Software Foundation, either version 3 of the License,
8 or (at your option) any later version.
9
10 GNUnet is distributed in the hope that it will be useful, but
11 WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Affero General Public License for more details.
14
15 You should have received a copy of the GNU Affero General Public License
16 along with this program. If not, see <http://www.gnu.org/licenses/>.
17
18 SPDX-License-Identifier: AGPL3.0-or-later
19 */
20#ifndef GNU_NAME_SYSTEM_RECORD_TYPES_H
21#define GNU_NAME_SYSTEM_RECORD_TYPES_H
22
23#ifdef __cplusplus
24extern "C" {
25#if 0 /* keep Emacsens' auto-indent happy */
26}
27#endif
28#endif
29
30
31/**
32 * GNS zone transfer
33 */
34#define GNUNET_GNSRECORD_TYPE_PKEY 65536
35
36/**
37 * GNS nick names
38 */
39#define GNUNET_GNSRECORD_TYPE_NICK 65537
40
41/**
42 * legacy hostnames
43 */
44#define GNUNET_GNSRECORD_TYPE_LEHO 65538
45
46/**
47 * VPN resolution
48 */
49#define GNUNET_GNSRECORD_TYPE_VPN 65539
50
51/**
52 * Delegation to DNS
53 */
54#define GNUNET_GNSRECORD_TYPE_GNS2DNS 65540
55
56/**
57 * Boxed records (see TLSA/SRV handling in GNS)
58 */
59#define GNUNET_GNSRECORD_TYPE_BOX 65541
60
61/**
62 * social place for SecuShare
63 */
64#define GNUNET_GNSRECORD_TYPE_PLACE 65542
65
66/**
67 * Endpoint for conversation
68 */
69#define GNUNET_GNSRECORD_TYPE_PHONE 65543
70
71/**
72 * identity attribute
73 */
74#define GNUNET_GNSRECORD_TYPE_RECLAIM_ATTRIBUTE 65544
75
76/**
77 * local ticket reference
78 */
79#define GNUNET_GNSRECORD_TYPE_RECLAIM_TICKET 65545
80
81/**
82 * For ABD policies
83 */
84#define GNUNET_GNSRECORD_TYPE_DELEGATE 65548
85
86/**
87 * For ABD reverse lookups
88 */
89#define GNUNET_GNSRECORD_TYPE_ATTRIBUTE 65549
90
91/**
92 * for reclaim records
93 */
94#define GNUNET_GNSRECORD_TYPE_RECLAIM_ATTRIBUTE_REF 65550
95
96/**
97 * For reclaim OIDC client names.
98 */
99#define GNUNET_GNSRECORD_TYPE_RECLAIM_OIDC_CLIENT 65552
100
101/**
102 * Used reclaimID OIDC client redirect URIs.
103 */
104#define GNUNET_GNSRECORD_TYPE_RECLAIM_OIDC_REDIRECT 65553
105
106/**
107 * Record type for an attribute attestation (e.g. JWT).
108 */
109#define GNUNET_GNSRECORD_TYPE_RECLAIM_CREDENTIAL 65554
110
111/**
112 * Record type for a presentation of a credential.
113 */
114#define GNUNET_GNSRECORD_TYPE_RECLAIM_PRESENTATION 65555
115
116/**
117 * Record type for EDKEY zone delegations.
118 */
119#define GNUNET_GNSRECORD_TYPE_EDKEY 65556
120
121
122#if 0 /* keep Emacsens' auto-indent happy */
123{
124#endif
125#ifdef __cplusplus
126}
127#endif
128
129#endif
diff --git a/src/include/gnunet_gnsrecord_lib.h b/src/include/gnunet_gnsrecord_lib.h
index 0bf2ceed7..aff56146e 100644
--- a/src/include/gnunet_gnsrecord_lib.h
+++ b/src/include/gnunet_gnsrecord_lib.h
@@ -55,109 +55,9 @@ extern "C" {
55#define GNUNET_GNSRECORD_TYPE_ANY 0 55#define GNUNET_GNSRECORD_TYPE_ANY 0
56 56
57/** 57/**
58 * Record type for GNS zone transfer ("PKEY"). 58 * Include the record types generated from GANA
59 */ 59 */
60#define GNUNET_GNSRECORD_TYPE_PKEY GNUNET_IDENTITY_TYPE_ECDSA 60#include "gnu_name_system_record_types.h"
61
62/**
63 * Record type for GNS nick names ("NICK").
64 */
65#define GNUNET_GNSRECORD_TYPE_NICK 65537
66
67/**
68 * Record type for GNS legacy hostnames ("LEHO").
69 */
70#define GNUNET_GNSRECORD_TYPE_LEHO 65538
71
72/**
73 * Record type for VPN resolution
74 */
75#define GNUNET_GNSRECORD_TYPE_VPN 65539
76
77/**
78 * Record type for delegation to DNS.
79 */
80#define GNUNET_GNSRECORD_TYPE_GNS2DNS 65540
81
82/**
83 * Record type for a boxed record (see TLSA/SRV handling in GNS).
84 */
85#define GNUNET_GNSRECORD_TYPE_BOX 65541
86
87/**
88 * Record type for a social place.
89 */
90#define GNUNET_GNSRECORD_TYPE_PLACE 65542
91
92/**
93 * Record type for a phone (of CONVERSATION).
94 */
95#define GNUNET_GNSRECORD_TYPE_PHONE 65543
96
97/**
98 * Record type for identity attributes (of RECLAIM).
99 */
100#define GNUNET_GNSRECORD_TYPE_RECLAIM_ATTRIBUTE 65544
101
102/**
103 * Record type for local ticket references
104 */
105#define GNUNET_GNSRECORD_TYPE_RECLAIM_TICKET 65545
106
107/**
108 * 65546 reserved
109 */
110
111/**
112 * 65547 deleted, free to use
113 */
114
115/**
116 * Record type for policies
117 */
118#define GNUNET_GNSRECORD_TYPE_DELEGATE 65548
119
120/**
121 * Record type for reverse lookups
122 */
123#define GNUNET_GNSRECORD_TYPE_ATTRIBUTE 65549
124
125/**
126 * Record type for reclaim records
127 */
128#define GNUNET_GNSRECORD_TYPE_RECLAIM_ATTRIBUTE_REF 65550
129
130/**
131 * Record type for RECLAIM master
132 */
133#define GNUNET_GNSRECORD_TYPE_RECLAIM_MASTER 65551
134
135/**
136 * Record type for reclaim OIDC clients
137 */
138#define GNUNET_GNSRECORD_TYPE_RECLAIM_OIDC_CLIENT 65552
139
140/**
141 * Record type for reclaim OIDC redirect URIs
142 */
143#define GNUNET_GNSRECORD_TYPE_RECLAIM_OIDC_REDIRECT 65553
144
145/**
146 * Record type for an attribute attestation
147 */
148#define GNUNET_GNSRECORD_TYPE_RECLAIM_CREDENTIAL 65554
149
150/**
151 * Record type for a presentation of a credential (used
152 * in a ticket record set)
153 */
154#define GNUNET_GNSRECORD_TYPE_RECLAIM_PRESENTATION 65555
155
156/**
157 * Record type for EDKEY delegations.
158 */
159#define GNUNET_GNSRECORD_TYPE_EDKEY GNUNET_IDENTITY_TYPE_EDDSA
160
161 61
162/** 62/**
163 * Flags that can be set for a record. 63 * Flags that can be set for a record.
diff --git a/src/reclaim/plugin_gnsrecord_reclaim.c b/src/reclaim/plugin_gnsrecord_reclaim.c
index 60c49fd6a..9e4f0a5c4 100644
--- a/src/reclaim/plugin_gnsrecord_reclaim.c
+++ b/src/reclaim/plugin_gnsrecord_reclaim.c
@@ -50,7 +50,6 @@ value_to_string (void *cls, uint32_t type, const void *data, size_t data_size)
50 case GNUNET_GNSRECORD_TYPE_RECLAIM_ATTRIBUTE: 50 case GNUNET_GNSRECORD_TYPE_RECLAIM_ATTRIBUTE:
51 case GNUNET_GNSRECORD_TYPE_RECLAIM_ATTRIBUTE_REF: 51 case GNUNET_GNSRECORD_TYPE_RECLAIM_ATTRIBUTE_REF:
52 case GNUNET_GNSRECORD_TYPE_RECLAIM_TICKET: 52 case GNUNET_GNSRECORD_TYPE_RECLAIM_TICKET:
53 case GNUNET_GNSRECORD_TYPE_RECLAIM_MASTER:
54 case GNUNET_GNSRECORD_TYPE_RECLAIM_CREDENTIAL: 53 case GNUNET_GNSRECORD_TYPE_RECLAIM_CREDENTIAL:
55 case GNUNET_GNSRECORD_TYPE_RECLAIM_PRESENTATION: 54 case GNUNET_GNSRECORD_TYPE_RECLAIM_PRESENTATION:
56 return GNUNET_STRINGS_data_to_string_alloc (data, data_size); 55 return GNUNET_STRINGS_data_to_string_alloc (data, data_size);
@@ -87,7 +86,6 @@ string_to_value (void *cls, uint32_t type, const char *s, void **data,
87 return GNUNET_OK; 86 return GNUNET_OK;
88 case GNUNET_GNSRECORD_TYPE_RECLAIM_ATTRIBUTE: 87 case GNUNET_GNSRECORD_TYPE_RECLAIM_ATTRIBUTE:
89 case GNUNET_GNSRECORD_TYPE_RECLAIM_ATTRIBUTE_REF: 88 case GNUNET_GNSRECORD_TYPE_RECLAIM_ATTRIBUTE_REF:
90 case GNUNET_GNSRECORD_TYPE_RECLAIM_MASTER:
91 case GNUNET_GNSRECORD_TYPE_RECLAIM_TICKET: 89 case GNUNET_GNSRECORD_TYPE_RECLAIM_TICKET:
92 case GNUNET_GNSRECORD_TYPE_RECLAIM_CREDENTIAL: 90 case GNUNET_GNSRECORD_TYPE_RECLAIM_CREDENTIAL:
93 case GNUNET_GNSRECORD_TYPE_RECLAIM_PRESENTATION: 91 case GNUNET_GNSRECORD_TYPE_RECLAIM_PRESENTATION:
@@ -112,7 +110,6 @@ static struct
112 { "RECLAIM_ATTRIBUTE_REF", GNUNET_GNSRECORD_TYPE_RECLAIM_ATTRIBUTE_REF }, 110 { "RECLAIM_ATTRIBUTE_REF", GNUNET_GNSRECORD_TYPE_RECLAIM_ATTRIBUTE_REF },
113 { "RECLAIM_CREDENTIAL", GNUNET_GNSRECORD_TYPE_RECLAIM_CREDENTIAL }, 111 { "RECLAIM_CREDENTIAL", GNUNET_GNSRECORD_TYPE_RECLAIM_CREDENTIAL },
114 { "RECLAIM_PRESENTATION", GNUNET_GNSRECORD_TYPE_RECLAIM_PRESENTATION }, 112 { "RECLAIM_PRESENTATION", GNUNET_GNSRECORD_TYPE_RECLAIM_PRESENTATION },
115 { "RECLAIM_MASTER", GNUNET_GNSRECORD_TYPE_RECLAIM_MASTER },
116 { "RECLAIM_OIDC_CLIENT", GNUNET_GNSRECORD_TYPE_RECLAIM_OIDC_CLIENT }, 113 { "RECLAIM_OIDC_CLIENT", GNUNET_GNSRECORD_TYPE_RECLAIM_OIDC_CLIENT },
117 { "RECLAIM_OIDC_REDIRECT", GNUNET_GNSRECORD_TYPE_RECLAIM_OIDC_REDIRECT }, 114 { "RECLAIM_OIDC_REDIRECT", GNUNET_GNSRECORD_TYPE_RECLAIM_OIDC_REDIRECT },
118 { "RECLAIM_TICKET", GNUNET_GNSRECORD_TYPE_RECLAIM_TICKET }, 115 { "RECLAIM_TICKET", GNUNET_GNSRECORD_TYPE_RECLAIM_TICKET },