summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2021-03-02 17:26:24 +0100
committerChristian Grothoff <christian@grothoff.org>2021-03-02 17:26:24 +0100
commitf48a3bd14482f508ad47cfd9d62fbaa11938b275 (patch)
tree96142906bee7632520f34e1ad8a7a365f6e48348
parent45ceb4fdf94566a67dbeac28cebb0f3154b843cf (diff)
parentc666bf95d0ba0a6eddcf0e6953b05ef375f6a75e (diff)
Merge branch 'master' of git+ssh://gnunet.org/gnunet
-rw-r--r--configure.ac16
-rw-r--r--doc/Makefile.am2
-rw-r--r--doc/handbook/Makefile.am40
-rw-r--r--doc/handbook/chapters/user.texi109
-rw-r--r--doc/tutorial/Makefile.am21
-rw-r--r--po/POTFILES.in114
-rw-r--r--src/include/Makefile.am1
-rw-r--r--src/include/gnu_name_system_record_types.h138
-rw-r--r--src/include/gnunet_gnsrecord_lib.h104
-rw-r--r--src/reclaim/plugin_gnsrecord_reclaim.c3
-rw-r--r--src/transport/gnunet-service-tng.c15
11 files changed, 247 insertions, 316 deletions
diff --git a/configure.ac b/configure.ac
index 68cae8c0e..b6a4d21c9 100644
--- a/configure.ac
+++ b/configure.ac
@@ -558,6 +558,18 @@ AS_IF([test "x$include_manpages" = "xyes"],
# texinfo5 switches are used. This comes with no version checks, is
# enabled only at distributors action (ie defaults to "no").
# Mantis #3914 for more details (https://bugs.gnunet.org/view.php?id=3914)
+# While GNU makeinfo 6.5 supports --css-ref=URL,
+# makeinfo 4.8 (in NetBSD 8.0, macOS, and maybe other
+# base) does only support --css-include=FILE.
+# The only difference is a shorter html output and
+# in 6.5 the ability to use refs instead of include.
+# We prefer not to break builds in this case, so
+# we use the include version which is backwards compatible
+# and upwards compatible, while the ref variant is neither.
+# In the 5.x version they added `--split=chapters|sections` in
+# addition to `--split=nodes`.
+# Hold on to your hats: In version 6.5 this is already removed, ffs.
+# GNU Texinfo, please be more consistent than 1 version in switches.
AC_MSG_CHECKING(whether to enable texinfo4 switches)
AC_ARG_ENABLE([texinfo4],
[AS_HELP_STRING([--enable-texinfo4], [Use texinfo version 4 specific switches])],
@@ -568,11 +580,15 @@ AS_IF([test "x$activate_texinfo4" = "xyes"],
[
AM_CONDITIONAL([ACTIVATE_TEXINFO4],true)
AC_DEFINE([ACTIVATE_TEXINFO4],[1],[Using texinfo version 4 specific switches])
+ TEXINFO_HTMLFLAGS="--no-split --css-include=style.css --css-include=manual.css"
],[
AM_CONDITIONAL([ACTIVATE_TEXINFO4],false)
AC_DEFINE([INCLUDE_MANPAGES],[0],[Using texinfo version 5 or later switches])
+ TEXINFO_HTMLFLAGS="--split --css-ref='../style.css' --css-ref='../manual.css'"
+
])
+AC_SUBST([TEXINFO_HTMLFLAGS])
# Adam shostack suggests the following for Windows:
# -D_FORTIFY_SOURCE=2 -fstack-protector-all
diff --git a/doc/Makefile.am b/doc/Makefile.am
index eb23b534b..a9ad69954 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -1,4 +1,6 @@
# This Makefile.am is in the public domain
+
+
if DOCUMENTATION
SUBDIRS = doxygen handbook tutorial
endif
diff --git a/doc/handbook/Makefile.am b/doc/handbook/Makefile.am
index 0435796a9..d7bcab696 100644
--- a/doc/handbook/Makefile.am
+++ b/doc/handbook/Makefile.am
@@ -3,25 +3,8 @@ docdir = $(datadir)/doc/gnunet/
infoimagedir = $(infodir)/images
-if ACTIVATE_TEXINFO4
-# NOTE: While GNU makeinfo 6.5 supports --css-ref=URL,
-# makeinfo 4.8 (in NetBSD 8.0, macOS, and maybe other
-# base) does only support --css-include=FILE.
-# The only difference is a shorter html output and
-# in 6.5 the ability to use refs instead of include.
-# We prefer not to break builds in this case, so
-# we use the include version which is backwards compatible
-# and upwards compatible, while the ref variant is neither.
-AM_MAKEINFOHTMLFLAGS = --no-split --css-include=style.css --css-include=manual.css
-else
-# In the 5.x version they added `--split=chapters|sections` in
-# addition to `--split=nodes`.
-# Hold on to your hats: In version 6.5 this is already removed, ffs.
-# GNU Texinfo, please be more consistent than 1 version in switches.
-# This however is compatible to version 5.2. Thanks, I hate it.
-# AM_MAKEINFOHTMLFLAGS = --split=sections --css-ref="../style.css" --css-ref="../manual.css"
-AM_MAKEINFOHTMLFLAGS = --no-split --css-ref="../style.css" --css-ref="../manual.css"
-endif
+AM_MAKEINFOHTMLFLAGS = $(TEXINFO_HTMLFLAGS)
+
dist_infoimage_DATA = \
images/gnunet-gtk-0-10-gns-a-done.png \
@@ -78,6 +61,25 @@ gnunet_TEXINFOS = \
agpl-3.0.texi \
version.texi
+#if ACTIVATE_TEXINFO4
+# NOTE: While GNU makeinfo 6.5 supports --css-ref=URL,
+# makeinfo 4.8 (in NetBSD 8.0, macOS, and maybe other
+# base) does only support --css-include=FILE.
+# The only difference is a shorter html output and
+# in 6.5 the ability to use refs instead of include.
+# We prefer not to break builds in this case, so
+# we use the include version which is backwards compatible
+# and upwards compatible, while the ref variant is neither.
+#AM_MAKEINFOHTMLFLAGS = --no-split --css-include=style.css --css-include=manual.css
+#else
+# In the 5.x version they added `--split=chapters|sections` in
+# addition to `--split=nodes`.
+# Hold on to your hats: In version 6.5 this is already removed, ffs.
+# GNU Texinfo, please be more consistent than 1 version in switches.
+# This however is compatible to version 5.2. Thanks, I hate it.
+# AM_MAKEINFOHTMLFLAGS = --split=sections --css-ref="../style.css" --css-ref="../manual.css"
+#AM_MAKEINFOHTMLFLAGS = --split --css-ref="../style.css" --css-ref="../manual.css"
+#endif
EXTRA_DIST = \
$(gnunet_TEXINFOS) \
htmlxref.cnf \
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
where the name was encountered) and hence generate a
valid GNS name.
-GNS currently supports the following record types:
+The GNS currently supports the record types as defined in
+@uref{https://git.gnunet.org/gana.git/tree/gnu-name-system-record-types/registry.rec, GANA}.
+In addition, GNS supports DNS record types, such as A, AAAA or TXT.
+
+In the following, we discuss GNS records with specific behaviour or special
+handling of DNS records.
@menu
* NICK::
@@ -1547,22 +1552,9 @@ GNS currently supports the following record types:
* BOX::
* LEHO::
* VPN::
-* A AAAA and TXT::
* CNAME::
* GNS2DNS::
* SOA SRV PTR and MX::
-* PLACE::
-* PHONE::
-* ID ATTR::
-* ID TOKEN::
-* ID TOKEN METADATA::
-* CREDENTIAL::
-* POLICY::
-* ATTRIBUTE::
-* ABE KEY::
-* ABE MASTER::
-* RECLAIM OIDC CLIENT::
-* RECLAIM OIDC REDIRECT::
@end menu
@node NICK
@@ -1658,11 +1650,6 @@ having the following lines in the @file{gnunet.conf} configuration file:
TCP_REDIRECTS = 80:localhost4:8080
@end example
-@node A AAAA and TXT
-@subsubsection A AAAA and TXT
-
-Those records work in exactly the same fashion as in traditional DNS.
-
@node CNAME
@subsubsection CNAME
@@ -1771,90 +1758,6 @@ $ gnunet-namestore -a -n mail -t MX -z bar -e 3600s -V \
> "10,mail.bar"
@end example
-@node PLACE
-@subsubsection PLACE
-
-@c TODO describe record type and give an example of how and
-@c when to use it
-Record type for a social place.
-
-@node PHONE
-@subsubsection PHONE
-
-@c TODO describe record type and give an example of how and
-@c when to use it
-Record type for a phone (of CONVERSATION).
-
-@node ID ATTR
-@subsubsection ID ATTR
-
-@c TODO describe record type and give an example of how and
-@c when to use it
-Record type for identity attributes (of IDENTITY).
-
-@node ID TOKEN
-@subsubsection ID TOKEN
-
-@c TODO describe record type and give an example of how and
-@c when to use it
-Record type for an identity token (of IDENTITY-TOKEN).
-
-@node ID TOKEN METADATA
-@subsubsection ID TOKEN METADATA
-
-@c TODO describe record type and give an example of how and
-@c when to use it
-Record type for the private metadata of an identity token (of IDENTITY-TOKEN).
-
-@node CREDENTIAL
-@subsubsection CREDENTIAL
-
-@c TODO describe record type and give an example of how and
-@c when to use it
-Record type for credential.
-
-@node POLICY
-@subsubsection POLICY
-
-@c TODO describe record type and give an example of how and
-@c when to use it
-Record type for policies.
-
-@node ATTRIBUTE
-@subsubsection ATTRIBUTE
-
-@c TODO describe record type and give an example of how and
-@c when to use it
-Record type for reverse lookups.
-
-@node ABE KEY
-@subsubsection ABE KEY
-
-@c TODO describe record type and give an example of how and
-@c when to use it
-Record type for ABE records.
-
-@node ABE MASTER
-@subsubsection ABE MASTER
-
-@c TODO describe record type and give an example of how and
-@c when to use it
-Record type for ABE master keys.
-
-@node RECLAIM OIDC CLIENT
-@subsubsection RECLAIM OIDC CLIENT
-
-@c TODO describe record type and give an example of how and
-@c when to use it
-Record type for reclaim OIDC clients.
-
-@node RECLAIM OIDC REDIRECT
-@subsubsection RECLAIM OIDC REDIRECT
-
-@c TODO describe record type and give an example of how and
-@c when to use it
-Record type for reclaim OIDC redirect URIs.
-
@node Synchronizing with legacy DNS
@subsection Synchronizing with legacy DNS
diff --git a/doc/tutorial/Makefile.am b/doc/tutorial/Makefile.am
index d0307ecb5..afe4aa6c0 100644
--- a/doc/tutorial/Makefile.am
+++ b/doc/tutorial/Makefile.am
@@ -1,25 +1,8 @@
# This Makefile.am is in the public domain
docdir = $(datadir)/doc/gnunet/
-if ACTIVATE_TEXINFO4
-# NOTE: While GNU makeinfo 6.5 supports --css-ref=URL,
-# makeinfo 4.8 (in NetBSD 8.0, macOS, and maybe other
-# base) does only support --css-include=FILE.
-# The only difference is a shorter html output and
-# in 6.5 the ability to use refs instead of include.
-# We prefer not to break builds in this case, so
-# we use the include version which is backwards compatible
-# and upwards compatible, while the ref variant is neither.
-AM_MAKEINFOHTMLFLAGS = --no-split --css-include=style.css --css-include=manual.css
-else
-# In the 5.x version they added `--split=chapters|sections` in
-# addition to `--split=nodes`.
-# Hold on to your hats: In version 6.5 this is already removed, ffs.
-# GNU Texinfo, please be more consistent than 1 version in switches.
-# This however is compatible to version 5.2. Thanks, I hate it.
-# AM_MAKEINFOHTMLFLAGS = --split=sections --css-ref="../style.css" --css-ref="../manual.css"
-AM_MAKEINFOHTMLFLAGS = --split --css-ref="../style.css" --css-ref="../manual.css"
-endif
+AM_MAKEINFOHTMLFLAGS = $(TEXINFO_HTMLFLAGS)
+
gnunet_tutorial_examples = \
examples/001.c \
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
src/arm/gnunet-arm.c
src/arm/gnunet-service-arm.c
src/arm/mockup-service.c
+src/ats-tests/ats-testing-experiment.c
+src/ats-tests/ats-testing-log.c
+src/ats-tests/ats-testing-preferences.c
+src/ats-tests/ats-testing-traffic.c
+src/ats-tests/ats-testing.c
+src/ats-tests/gnunet-ats-sim.c
+src/ats-tests/gnunet-solver-eval.c
+src/ats-tool/gnunet-ats.c
src/ats/ats_api_connectivity.c
src/ats/ats_api_performance.c
src/ats/ats_api_scanner.c
src/ats/ats_api_scheduling.c
src/ats/gnunet-ats-solver-eval.c
-src/ats/gnunet-service-ats_addresses.c
src/ats/gnunet-service-ats.c
+src/ats/gnunet-service-ats_addresses.c
src/ats/gnunet-service-ats_connectivity.c
src/ats/gnunet-service-ats_normalization.c
src/ats/gnunet-service-ats_performance.c
@@ -25,14 +33,6 @@ src/ats/gnunet-service-ats_preferences.c
src/ats/gnunet-service-ats_reservations.c
src/ats/gnunet-service-ats_scheduling.c
src/ats/plugin_ats_proportional.c
-src/ats-tests/ats-testing.c
-src/ats-tests/ats-testing-experiment.c
-src/ats-tests/ats-testing-log.c
-src/ats-tests/ats-testing-preferences.c
-src/ats-tests/ats-testing-traffic.c
-src/ats-tests/gnunet-ats-sim.c
-src/ats-tests/gnunet-solver-eval.c
-src/ats-tool/gnunet-ats.c
src/auction/gnunet-auction-create.c
src/auction/gnunet-auction-info.c
src/auction/gnunet-auction-join.c
@@ -50,8 +50,8 @@ src/cadet/cadet_api_list_peers.c
src/cadet/cadet_api_list_tunnels.c
src/cadet/cadet_test_lib.c
src/cadet/desirability_table.c
-src/cadet/gnunet-cadet.c
src/cadet/gnunet-cadet-profiler.c
+src/cadet/gnunet-cadet.c
src/cadet/gnunet-service-cadet.c
src/cadet/gnunet-service-cadet_channel.c
src/cadet/gnunet-service-cadet_connection.c
@@ -67,15 +67,15 @@ src/consensus/gnunet-service-consensus.c
src/consensus/plugin_block_consensus.c
src/conversation/conversation_api.c
src/conversation/conversation_api_call.c
-src/conversation/gnunet-conversation.c
src/conversation/gnunet-conversation-test.c
-src/conversation/gnunet_gst.c
-src/conversation/gnunet_gst_test.c
-src/conversation/gnunet-helper-audio-playback.c
+src/conversation/gnunet-conversation.c
src/conversation/gnunet-helper-audio-playback-gst.c
-src/conversation/gnunet-helper-audio-record.c
+src/conversation/gnunet-helper-audio-playback.c
src/conversation/gnunet-helper-audio-record-gst.c
+src/conversation/gnunet-helper-audio-record.c
src/conversation/gnunet-service-conversation.c
+src/conversation/gnunet_gst.c
+src/conversation/gnunet_gst_test.c
src/conversation/microphone.c
src/conversation/plugin_gnsrecord_conversation.c
src/conversation/speaker.c
@@ -105,7 +105,6 @@ src/dht/dht_api.c
src/dht/dht_test_lib.c
src/dht/gnunet-dht-get.c
src/dht/gnunet-dht-monitor.c
-src/dht/gnunet_dht_profiler.c
src/dht/gnunet-dht-put.c
src/dht/gnunet-service-dht.c
src/dht/gnunet-service-dht_clients.c
@@ -114,6 +113,7 @@ src/dht/gnunet-service-dht_hello.c
src/dht/gnunet-service-dht_neighbours.c
src/dht/gnunet-service-dht_nse.c
src/dht/gnunet-service-dht_routing.c
+src/dht/gnunet_dht_profiler.c
src/dht/plugin_block_dht.c
src/dns/dns_api.c
src/dns/gnunet-dns-monitor.c
@@ -148,8 +148,8 @@ src/fs/gnunet-auto-share.c
src/fs/gnunet-daemon-fsprofiler.c
src/fs/gnunet-directory.c
src/fs/gnunet-download.c
-src/fs/gnunet-fs.c
src/fs/gnunet-fs-profiler.c
+src/fs/gnunet-fs.c
src/fs/gnunet-helper-fs-publish.c
src/fs/gnunet-publish.c
src/fs/gnunet-search.c
@@ -169,9 +169,9 @@ src/gns/gns_tld_api.c
src/gns/gnunet-bcd.c
src/gns/gnunet-dns2gns.c
src/gns/gnunet-gns-benchmark.c
-src/gns/gnunet-gns.c
src/gns/gnunet-gns-import.c
src/gns/gnunet-gns-proxy.c
+src/gns/gnunet-gns.c
src/gns/gnunet-service-gns.c
src/gns/gnunet-service-gns_interceptor.c
src/gns/gnunet-service-gns_resolver.c
@@ -189,8 +189,8 @@ src/gnsrecord/json_gnsrecord.c
src/gnsrecord/plugin_gnsrecord_dns.c
src/hello/address.c
src/hello/gnunet-hello.c
-src/hello/hello.c
src/hello/hello-ng.c
+src/hello/hello.c
src/hostlist/gnunet-daemon-hostlist.c
src/hostlist/gnunet-daemon-hostlist_client.c
src/hostlist/gnunet-daemon-hostlist_server.c
@@ -205,8 +205,8 @@ src/json/json_generator.c
src/json/json_helper.c
src/json/json_mhd.c
src/messenger/gnunet-messenger.c
-src/messenger/gnunet-service-messenger_basement.c
src/messenger/gnunet-service-messenger.c
+src/messenger/gnunet-service-messenger_basement.c
src/messenger/gnunet-service-messenger_contact.c
src/messenger/gnunet-service-messenger_handle.c
src/messenger/gnunet-service-messenger_list_handles.c
@@ -236,8 +236,8 @@ src/namecache/namecache_api.c
src/namecache/plugin_namecache_flat.c
src/namecache/plugin_namecache_postgres.c
src/namecache/plugin_namecache_sqlite.c
-src/namestore/gnunet-namestore.c
src/namestore/gnunet-namestore-fcfsd.c
+src/namestore/gnunet-namestore.c
src/namestore/gnunet-service-namestore.c
src/namestore/gnunet-zoneimport.c
src/namestore/namestore_api.c
@@ -263,17 +263,17 @@ src/nat/gnunet-service-nat_mini.c
src/nat/gnunet-service-nat_stun.c
src/nat/nat_api.c
src/nat/nat_api_stun.c
-src/nse/gnunet-nse.c
src/nse/gnunet-nse-profiler.c
+src/nse/gnunet-nse.c
src/nse/gnunet-service-nse.c
src/nse/nse_api.c
src/nt/nt.c
-src/peerinfo/gnunet-service-peerinfo.c
-src/peerinfo/peerinfo_api.c
-src/peerinfo/peerinfo_api_notify.c
src/peerinfo-tool/gnunet-peerinfo.c
src/peerinfo-tool/gnunet-peerinfo_plugins.c
src/peerinfo-tool/plugin_rest_peerinfo.c
+src/peerinfo/gnunet-service-peerinfo.c
+src/peerinfo/peerinfo_api.c
+src/peerinfo/peerinfo_api_notify.c
src/peerstore/gnunet-peerstore.c
src/peerstore/gnunet-service-peerstore.c
src/peerstore/peerstore_api.c
@@ -319,27 +319,27 @@ src/rest/gnunet-rest-server.c
src/rest/plugin_rest_config.c
src/rest/plugin_rest_copying.c
src/rest/rest.c
-src/revocation/gnunet-revocation.c
src/revocation/gnunet-revocation-tvg.c
+src/revocation/gnunet-revocation.c
src/revocation/gnunet-service-revocation.c
src/revocation/plugin_block_revocation.c
src/revocation/revocation_api.c
-src/rps/gnunet-rps.c
src/rps/gnunet-rps-profiler.c
+src/rps/gnunet-rps.c
src/rps/gnunet-service-rps.c
src/rps/gnunet-service-rps_custommap.c
src/rps/gnunet-service-rps_sampler.c
src/rps/gnunet-service-rps_sampler_elem.c
src/rps/gnunet-service-rps_view.c
-src/rps/rps_api.c
src/rps/rps-sampler_client.c
src/rps/rps-sampler_common.c
src/rps/rps-test_util.c
+src/rps/rps_api.c
src/scalarproduct/gnunet-scalarproduct.c
-src/scalarproduct/gnunet-service-scalarproduct_alice.c
-src/scalarproduct/gnunet-service-scalarproduct_bob.c
src/scalarproduct/gnunet-service-scalarproduct-ecc_alice.c
src/scalarproduct/gnunet-service-scalarproduct-ecc_bob.c
+src/scalarproduct/gnunet-service-scalarproduct_alice.c
+src/scalarproduct/gnunet-service-scalarproduct_bob.c
src/scalarproduct/scalarproduct_api.c
src/secretsharing/gnunet-secretsharing-profiler.c
src/secretsharing/gnunet-service-secretsharing.c
@@ -353,12 +353,12 @@ src/set/gnunet-set-ibf-profiler.c
src/set/gnunet-set-profiler.c
src/set/ibf.c
src/set/ibf_sim.c
+src/set/plugin_block_set_test.c
+src/set/set_api.c
src/seti/gnunet-service-seti.c
src/seti/gnunet-seti-profiler.c
src/seti/plugin_block_seti_test.c
src/seti/seti_api.c
-src/set/plugin_block_set_test.c
-src/set/set_api.c
src/setu/gnunet-service-setu.c
src/setu/gnunet-service-setu_strata_estimator.c
src/setu/gnunet-setu-ibf-profiler.c
@@ -377,15 +377,16 @@ src/statistics/gnunet-statistics.c
src/statistics/statistics_api.c
src/template/gnunet-service-template.c
src/template/gnunet-template.c
+src/testbed-logger/gnunet-service-testbed-logger.c
+src/testbed-logger/testbed_logger_api.c
src/testbed/generate-underlay-topology.c
src/testbed/gnunet-daemon-latency-logger.c
src/testbed/gnunet-daemon-testbed-blacklist.c
src/testbed/gnunet-daemon-testbed-underlay.c
src/testbed/gnunet-helper-testbed.c
-src/testbed/gnunet_mpi_test.c
src/testbed/gnunet-service-test-barriers.c
-src/testbed/gnunet-service-testbed_barriers.c
src/testbed/gnunet-service-testbed.c
+src/testbed/gnunet-service-testbed_barriers.c
src/testbed/gnunet-service-testbed_cache.c
src/testbed/gnunet-service-testbed_connectionpool.c
src/testbed/gnunet-service-testbed_cpustatus.c
@@ -393,20 +394,19 @@ src/testbed/gnunet-service-testbed_links.c
src/testbed/gnunet-service-testbed_meminfo.c
src/testbed/gnunet-service-testbed_oc.c
src/testbed/gnunet-service-testbed_peers.c
-src/testbed/gnunet_testbed_mpi_spawn.c
src/testbed/gnunet-testbed-profiler.c
-src/testbed-logger/gnunet-service-testbed-logger.c
-src/testbed-logger/testbed_logger_api.c
-src/testbed/testbed_api_barriers.c
+src/testbed/gnunet_mpi_test.c
+src/testbed/gnunet_testbed_mpi_spawn.c
src/testbed/testbed_api.c
+src/testbed/testbed_api_barriers.c
src/testbed/testbed_api_hosts.c
src/testbed/testbed_api_operations.c
src/testbed/testbed_api_peers.c
src/testbed/testbed_api_sd.c
src/testbed/testbed_api_services.c
src/testbed/testbed_api_statistics.c
-src/testbed/testbed_api_testbed.c
src/testbed/testbed_api_test.c
+src/testbed/testbed_api_testbed.c
src/testbed/testbed_api_topology.c
src/testbed/testbed_api_underlay.c
src/testing/gnunet-testing.c
@@ -418,34 +418,45 @@ src/transport/gnunet-communicator-tcp.c
src/transport/gnunet-communicator-udp.c
src/transport/gnunet-communicator-unix.c
src/transport/gnunet-helper-transport-bluetooth.c
-src/transport/gnunet-helper-transport-wlan.c
src/transport/gnunet-helper-transport-wlan-dummy.c
+src/transport/gnunet-helper-transport-wlan.c
src/transport/gnunet-service-tng.c
-src/transport/gnunet-service-transport_ats.c
src/transport/gnunet-service-transport.c
+src/transport/gnunet-service-transport_ats.c
src/transport/gnunet-service-transport_hello.c
src/transport/gnunet-service-transport_manipulation.c
src/transport/gnunet-service-transport_neighbours.c
src/transport/gnunet-service-transport_plugins.c
src/transport/gnunet-service-transport_validation.c
-src/transport/gnunet-transport.c
src/transport/gnunet-transport-profiler.c
src/transport/gnunet-transport-wlan-receiver.c
src/transport/gnunet-transport-wlan-sender.c
+src/transport/gnunet-transport.c
src/transport/plugin_transport_http_client.c
src/transport/plugin_transport_http_common.c
src/transport/plugin_transport_http_server.c
src/transport/plugin_transport_smtp.c
src/transport/plugin_transport_tcp.c
src/transport/plugin_transport_template.c
-src/transport/plugin_transport_udp_broadcasting.c
src/transport/plugin_transport_udp.c
+src/transport/plugin_transport_udp_broadcasting.c
src/transport/plugin_transport_unix.c
src/transport/plugin_transport_wlan.c
src/transport/tcp_connection_legacy.c
src/transport/tcp_server_legacy.c
src/transport/tcp_server_mst_legacy.c
src/transport/tcp_service_legacy.c
+src/transport/transport-testing-communicator.c
+src/transport/transport-testing-filenames.c
+src/transport/transport-testing-filenames2.c
+src/transport/transport-testing-loggers.c
+src/transport/transport-testing-loggers2.c
+src/transport/transport-testing-main.c
+src/transport/transport-testing-main2.c
+src/transport/transport-testing-send.c
+src/transport/transport-testing-send2.c
+src/transport/transport-testing.c
+src/transport/transport-testing2.c
src/transport/transport_api2_application.c
src/transport/transport_api2_communication.c
src/transport/transport_api2_core.c
@@ -458,17 +469,6 @@ src/transport/transport_api_manipulation.c
src/transport/transport_api_monitor_peers.c
src/transport/transport_api_monitor_plugins.c
src/transport/transport_api_offer_hello.c
-src/transport/transport-testing2.c
-src/transport/transport-testing.c
-src/transport/transport-testing-communicator.c
-src/transport/transport-testing-filenames2.c
-src/transport/transport-testing-filenames.c
-src/transport/transport-testing-loggers2.c
-src/transport/transport-testing-loggers.c
-src/transport/transport-testing-main2.c
-src/transport/transport-testing-main.c
-src/transport/transport-testing-send2.c
-src/transport/transport-testing-send.c
src/util/bandwidth.c
src/util/benchmark.c
src/util/bio.c
@@ -483,8 +483,8 @@ src/util/consttime_memcmp.c
src/util/container_bloomfilter.c
src/util/container_heap.c
src/util/container_meta_data.c
-src/util/container_multihashmap32.c
src/util/container_multihashmap.c
+src/util/container_multihashmap32.c
src/util/container_multipeermap.c
src/util/container_multishortmap.c
src/util/container_multiuuidmap.c
@@ -508,8 +508,8 @@ src/util/dnsparser.c
src/util/dnsstub.c
src/util/getopt.c
src/util/getopt_helpers.c
-src/util/gnunet-config.c
src/util/gnunet-config-diff.c
+src/util/gnunet-config.c
src/util/gnunet-crypto-tvg.c
src/util/gnunet-ecc.c
src/util/gnunet-qr.c
@@ -547,8 +547,8 @@ src/vpn/gnunet-helper-vpn.c
src/vpn/gnunet-service-vpn.c
src/vpn/gnunet-vpn.c
src/vpn/vpn_api.c
-src/zonemaster/gnunet-service-zonemaster.c
src/zonemaster/gnunet-service-zonemaster-monitor.c
+src/zonemaster/gnunet-service-zonemaster.c
src/fs/fs_api.h
src/testbed/testbed_api.h
src/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 = \
gnunet_gnsrecord_lib.h \
gnunet_gnsrecord_json_lib.h \
gnunet_gnsrecord_plugin.h \
+ gnu_name_system_record_types.h \
gnunet_hello_lib.h \
gnunet_helper_lib.h \
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..b2cf45dc8
--- /dev/null
+++ b/src/include/gnu_name_system_record_types.h
@@ -0,0 +1,138 @@
+/*
+ This file is part of GNUnet
+ Copyright (C) 2012-2021 GNUnet e.V.
+
+ GNUnet is free software: you can redistribute it and/or modify it
+ under the terms of the GNU Affero General Public License as published
+ by the Free Software Foundation, either version 3 of the License,
+ or (at your option) any later version.
+
+ GNUnet is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Affero General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+ SPDX-License-Identifier: AGPL3.0-or-later
+ */
+#ifndef GNU_NAME_SYSTEM_RECORD_TYPES_H
+#define GNU_NAME_SYSTEM_RECORD_TYPES_H
+
+/**
+ * WARNING:
+ * This header is generated!
+ * In order to add GNS record types, you must register
+ * them in GANA, and then use the header generation script
+ * to create an update of this file. You may then replace this
+ * file with the update.
+ */
+
+#ifdef __cplusplus
+extern "C" {
+#if 0 /* keep Emacsens' auto-indent happy */
+}
+#endif
+#endif
+
+
+/**
+ * GNS zone transfer
+ */
+#define GNUNET_GNSRECORD_TYPE_PKEY 65536
+
+/**
+ * GNS nick names
+ */
+#define GNUNET_GNSRECORD_TYPE_NICK 65537
+
+/**
+ * legacy hostnames
+ */
+#define GNUNET_GNSRECORD_TYPE_LEHO 65538
+
+/**
+ * VPN resolution
+ */
+#define GNUNET_GNSRECORD_TYPE_VPN 65539
+
+/**
+ * Delegation to DNS
+ */
+#define GNUNET_GNSRECORD_TYPE_GNS2DNS 65540
+
+/**
+ * Boxed records (see TLSA/SRV handling in GNS)
+ */
+#define GNUNET_GNSRECORD_TYPE_BOX 65541
+
+/**
+ * social place for SecuShare
+ */
+#define GNUNET_GNSRECORD_TYPE_PLACE 65542
+
+/**
+ * Endpoint for conversation
+ */
+#define GNUNET_GNSRECORD_TYPE_PHONE 65543
+
+/**
+ * identity attribute
+ */
+#define GNUNET_GNSRECORD_TYPE_RECLAIM_ATTRIBUTE 65544
+
+/**
+ * local ticket reference
+ */
+#define GNUNET_GNSRECORD_TYPE_RECLAIM_TICKET 65545
+
+/**
+ * For ABD policies
+ */
+#define GNUNET_GNSRECORD_TYPE_DELEGATE 65548
+
+/**
+ * For ABD reverse lookups
+ */
+#define GNUNET_GNSRECORD_TYPE_ATTRIBUTE 65549
+
+/**
+ * for reclaim records
+ */
+#define GNUNET_GNSRECORD_TYPE_RECLAIM_ATTRIBUTE_REF 65550
+
+/**
+ * For reclaim OIDC client names.
+ */
+#define GNUNET_GNSRECORD_TYPE_RECLAIM_OIDC_CLIENT 65552
+
+/**
+ * Used reclaimID OIDC client redirect URIs.
+ */
+#define GNUNET_GNSRECORD_TYPE_RECLAIM_OIDC_REDIRECT 65553
+
+/**
+ * Record type for an attribute attestation (e.g. JWT).
+ */
+#define GNUNET_GNSRECORD_TYPE_RECLAIM_CREDENTIAL 65554
+
+/**
+ * Record type for a presentation of a credential.
+ */
+#define GNUNET_GNSRECORD_TYPE_RECLAIM_PRESENTATION 65555
+
+/**
+ * Record type for EDKEY zone delegations.
+ */
+#define GNUNET_GNSRECORD_TYPE_EDKEY 65556
+
+
+#if 0 /* keep Emacsens' auto-indent happy */
+{
+#endif
+#ifdef __cplusplus
+}
+#endif
+
+#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" {
#define GNUNET_GNSRECORD_TYPE_ANY 0
/**
- * Record type for GNS zone transfer ("PKEY").
+ * Include the record types generated from GANA
*/
-#define GNUNET_GNSRECORD_TYPE_PKEY GNUNET_IDENTITY_TYPE_ECDSA
-
-/**
- * Record type for GNS nick names ("NICK").
- */
-#define GNUNET_GNSRECORD_TYPE_NICK 65537
-
-/**
- * Record type for GNS legacy hostnames ("LEHO").
- */
-#define GNUNET_GNSRECORD_TYPE_LEHO 65538
-
-/**
- * Record type for VPN resolution
- */
-#define GNUNET_GNSRECORD_TYPE_VPN 65539
-
-/**
- * Record type for delegation to DNS.
- */
-#define GNUNET_GNSRECORD_TYPE_GNS2DNS 65540
-
-/**
- * Record type for a boxed record (see TLSA/SRV handling in GNS).
- */
-#define GNUNET_GNSRECORD_TYPE_BOX 65541
-
-/**
- * Record type for a social place.
- */
-#define GNUNET_GNSRECORD_TYPE_PLACE 65542
-
-/**
- * Record type for a phone (of CONVERSATION).
- */
-#define GNUNET_GNSRECORD_TYPE_PHONE 65543
-
-/**
- * Record type for identity attributes (of RECLAIM).
- */
-#define GNUNET_GNSRECORD_TYPE_RECLAIM_ATTRIBUTE 65544
-
-/**
- * Record type for local ticket references
- */
-#define GNUNET_GNSRECORD_TYPE_RECLAIM_TICKET 65545
-
-/**
- * 65546 reserved
- */
-
-/**
- * 65547 deleted, free to use
- */
-
-/**
- * Record type for policies
- */
-#define GNUNET_GNSRECORD_TYPE_DELEGATE 65548
-
-/**
- * Record type for reverse lookups
- */
-#define GNUNET_GNSRECORD_TYPE_ATTRIBUTE 65549
-
-/**
- * Record type for reclaim records
- */
-#define GNUNET_GNSRECORD_TYPE_RECLAIM_ATTRIBUTE_REF 65550
-
-/**
- * Record type for RECLAIM master
- */
-#define GNUNET_GNSRECORD_TYPE_RECLAIM_MASTER 65551
-
-/**
- * Record type for reclaim OIDC clients
- */
-#define GNUNET_GNSRECORD_TYPE_RECLAIM_OIDC_CLIENT 65552
-
-/**
- * Record type for reclaim OIDC redirect URIs
- */
-#define GNUNET_GNSRECORD_TYPE_RECLAIM_OIDC_REDIRECT 65553
-
-/**
- * Record type for an attribute attestation
- */
-#define GNUNET_GNSRECORD_TYPE_RECLAIM_CREDENTIAL 65554
-
-/**
- * Record type for a presentation of a credential (used
- * in a ticket record set)
- */
-#define GNUNET_GNSRECORD_TYPE_RECLAIM_PRESENTATION 65555
-
-/**
- * Record type for EDKEY delegations.
- */
-#define GNUNET_GNSRECORD_TYPE_EDKEY GNUNET_IDENTITY_TYPE_EDDSA
-
+#include "gnu_name_system_record_types.h"
/**
* 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)
case GNUNET_GNSRECORD_TYPE_RECLAIM_ATTRIBUTE:
case GNUNET_GNSRECORD_TYPE_RECLAIM_ATTRIBUTE_REF:
case GNUNET_GNSRECORD_TYPE_RECLAIM_TICKET:
- case GNUNET_GNSRECORD_TYPE_RECLAIM_MASTER:
case GNUNET_GNSRECORD_TYPE_RECLAIM_CREDENTIAL:
case GNUNET_GNSRECORD_TYPE_RECLAIM_PRESENTATION:
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,
return GNUNET_OK;
case GNUNET_GNSRECORD_TYPE_RECLAIM_ATTRIBUTE:
case GNUNET_GNSRECORD_TYPE_RECLAIM_ATTRIBUTE_REF:
- case GNUNET_GNSRECORD_TYPE_RECLAIM_MASTER:
case GNUNET_GNSRECORD_TYPE_RECLAIM_TICKET:
case GNUNET_GNSRECORD_TYPE_RECLAIM_CREDENTIAL:
case GNUNET_GNSRECORD_TYPE_RECLAIM_PRESENTATION:
@@ -112,7 +110,6 @@ static struct
{ "RECLAIM_ATTRIBUTE_REF", GNUNET_GNSRECORD_TYPE_RECLAIM_ATTRIBUTE_REF },
{ "RECLAIM_CREDENTIAL", GNUNET_GNSRECORD_TYPE_RECLAIM_CREDENTIAL },
{ "RECLAIM_PRESENTATION", GNUNET_GNSRECORD_TYPE_RECLAIM_PRESENTATION },
- { "RECLAIM_MASTER", GNUNET_GNSRECORD_TYPE_RECLAIM_MASTER },
{ "RECLAIM_OIDC_CLIENT", GNUNET_GNSRECORD_TYPE_RECLAIM_OIDC_CLIENT },
{ "RECLAIM_OIDC_REDIRECT", GNUNET_GNSRECORD_TYPE_RECLAIM_OIDC_REDIRECT },
{ "RECLAIM_TICKET", GNUNET_GNSRECORD_TYPE_RECLAIM_TICKET },
diff --git a/src/transport/gnunet-service-tng.c b/src/transport/gnunet-service-tng.c
index f5a318b96..3cba49250 100644
--- a/src/transport/gnunet-service-tng.c
+++ b/src/transport/gnunet-service-tng.c
@@ -4199,18 +4199,6 @@ queue_send_msg (struct Queue *queue,
struct GNUNET_TRANSPORT_SendMessageTo *smt;
struct GNUNET_MQ_Envelope *env;
- /**
- * FIXME: the queue idle member does not really make
- * sense in the code.
- * It is not clear what "idle" should mean? If it means
- * the queue is empty, then other code (see schedule_retransmit)
- * does not make sense at it ALWAYS expects and idle queue
- * or will refuse to transmit because it is "busy".
- * The problem is that the queue is (was) never set to
- * idle in the code. Now it is, but it is unclear if the
- * expected logic is preserved.
- */
- queue->idle = GNUNET_NO;
GNUNET_log (
GNUNET_ERROR_TYPE_DEBUG,
"Queueing %u bytes of payload for transmission <%llu> on queue %llu to %s\n",
@@ -8882,6 +8870,8 @@ transmit_on_queue (void *cls)
queue->idle = GNUNET_YES;
return;
}
+ /* There is a message pending, we are certainly not idle */
+ queue->idle = GNUNET_NO;
/* Given selection in `sc`, do transmission */
pm = sc.best;
@@ -9107,7 +9097,6 @@ handle_send_message_ack (void *cls,
qe->queue->queue_length,
tc->details.communicator.total_queue_length);
GNUNET_SERVICE_client_continue (tc->client);
- qe->queue->idle = GNUNET_YES;
/* if applicable, resume transmissions that waited on ACK */
if (COMMUNICATOR_TOTAL_QUEUE_LIMIT - 1 ==