aboutsummaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/Makefile.am2
-rw-r--r--doc/handbook/Makefile.am40
-rw-r--r--doc/handbook/chapters/developer.texi30
-rw-r--r--doc/handbook/chapters/user.texi109
-rw-r--r--doc/handbook/images/tng.dot55
-rw-r--r--doc/handbook/images/tng.pngbin0 -> 75821 bytes
-rw-r--r--doc/man/Makefile.am1
-rw-r--r--doc/man/gnunet-base32.174
-rw-r--r--doc/tutorial/Makefile.am21
9 files changed, 169 insertions, 163 deletions
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 @@
1# This Makefile.am is in the public domain 1# This Makefile.am is in the public domain
2
3
2if DOCUMENTATION 4if DOCUMENTATION
3 SUBDIRS = doxygen handbook tutorial 5 SUBDIRS = doxygen handbook tutorial
4endif 6endif
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/
3 3
4infoimagedir = $(infodir)/images 4infoimagedir = $(infodir)/images
5 5
6if ACTIVATE_TEXINFO4 6AM_MAKEINFOHTMLFLAGS = $(TEXINFO_HTMLFLAGS)
7# NOTE: While GNU makeinfo 6.5 supports --css-ref=URL, 7
8# makeinfo 4.8 (in NetBSD 8.0, macOS, and maybe other
9# base) does only support --css-include=FILE.
10# The only difference is a shorter html output and
11# in 6.5 the ability to use refs instead of include.
12# We prefer not to break builds in this case, so
13# we use the include version which is backwards compatible
14# and upwards compatible, while the ref variant is neither.
15AM_MAKEINFOHTMLFLAGS = --no-split --css-include=style.css --css-include=manual.css
16else
17# In the 5.x version they added `--split=chapters|sections` in
18# addition to `--split=nodes`.
19# Hold on to your hats: In version 6.5 this is already removed, ffs.
20# GNU Texinfo, please be more consistent than 1 version in switches.
21# This however is compatible to version 5.2. Thanks, I hate it.
22# AM_MAKEINFOHTMLFLAGS = --split=sections --css-ref="../style.css" --css-ref="../manual.css"
23AM_MAKEINFOHTMLFLAGS = --no-split --css-ref="../style.css" --css-ref="../manual.css"
24endif
25 8
26dist_infoimage_DATA = \ 9dist_infoimage_DATA = \
27 images/gnunet-gtk-0-10-gns-a-done.png \ 10 images/gnunet-gtk-0-10-gns-a-done.png \
@@ -78,6 +61,25 @@ gnunet_TEXINFOS = \
78 agpl-3.0.texi \ 61 agpl-3.0.texi \
79 version.texi 62 version.texi
80 63
64#if ACTIVATE_TEXINFO4
65# NOTE: While GNU makeinfo 6.5 supports --css-ref=URL,
66# makeinfo 4.8 (in NetBSD 8.0, macOS, and maybe other
67# base) does only support --css-include=FILE.
68# The only difference is a shorter html output and
69# in 6.5 the ability to use refs instead of include.
70# We prefer not to break builds in this case, so
71# we use the include version which is backwards compatible
72# and upwards compatible, while the ref variant is neither.
73#AM_MAKEINFOHTMLFLAGS = --no-split --css-include=style.css --css-include=manual.css
74#else
75# In the 5.x version they added `--split=chapters|sections` in
76# addition to `--split=nodes`.
77# Hold on to your hats: In version 6.5 this is already removed, ffs.
78# GNU Texinfo, please be more consistent than 1 version in switches.
79# This however is compatible to version 5.2. Thanks, I hate it.
80# AM_MAKEINFOHTMLFLAGS = --split=sections --css-ref="../style.css" --css-ref="../manual.css"
81#AM_MAKEINFOHTMLFLAGS = --split --css-ref="../style.css" --css-ref="../manual.css"
82#endif
81EXTRA_DIST = \ 83EXTRA_DIST = \
82 $(gnunet_TEXINFOS) \ 84 $(gnunet_TEXINFOS) \
83 htmlxref.cnf \ 85 htmlxref.cnf \
diff --git a/doc/handbook/chapters/developer.texi b/doc/handbook/chapters/developer.texi
index 0d3b4739b..8bc8c8005 100644
--- a/doc/handbook/chapters/developer.texi
+++ b/doc/handbook/chapters/developer.texi
@@ -9485,18 +9485,6 @@ of using plugins for the actual transmission operations and the ATS subsystem
9485to select a plugin and allocate bandwidth. The following key issues have been 9485to select a plugin and allocate bandwidth. The following key issues have been
9486identified with this design: 9486identified with this design:
9487 9487
9488@menu
9489* Issues with TRANSPORT::
9490* Design goals of TNG::
9491* HELLO-NG::
9492* Priorities and preferences::
9493* Communicators::
9494@end menu
9495
9496@node Issues with TRANSPORT
9497@subsection Issues with TRANSPORT
9498
9499
9500@itemize @bullet 9488@itemize @bullet
9501@item Bugs in one plugin can affect the TRANSPORT service and other plugins. 9489@item Bugs in one plugin can affect the TRANSPORT service and other plugins.
9502 There is at least one open bug that affects sockets, where the origin is 9490 There is at least one open bug that affects sockets, where the origin is
@@ -9531,6 +9519,13 @@ identified with this design:
9531@end itemize 9519@end itemize
9532 9520
9533 9521
9522@menu
9523* Design goals of TNG::
9524* HELLO-NG::
9525* Priorities and preferences::
9526* Communicators::
9527@end menu
9528
9534@node Design goals of TNG 9529@node Design goals of TNG
9535@subsection Design goals of TNG 9530@subsection Design goals of TNG
9536 9531
@@ -9564,17 +9559,8 @@ In order to address the above issues, we want to:
9564 9559
9565The new architecture is planned as follows: 9560The new architecture is planned as follows:
9566 9561
9567@verbatim
9568
9569 APPLICATIONS
9570 |
9571 |
9572CORE -- TRANSPORT -- COMMUNICATOR(S) -- NAT
9573 \ /
9574 \ /
9575 PEERSTORE
9576 9562
9577@end verbatim 9563@image{images/tng,5in,,TNG architecture.}
9578 9564
9579TRANSPORT's main objective is to establish bi-directional virtual links using a 9565TRANSPORT's main objective is to establish bi-directional virtual links using a
9580variety of possibly uni-directional communicators. Links undergo the following 9566variety of possibly uni-directional communicators. Links undergo the following
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/doc/handbook/images/tng.dot b/doc/handbook/images/tng.dot
new file mode 100644
index 000000000..14e72ee04
--- /dev/null
+++ b/doc/handbook/images/tng.dot
@@ -0,0 +1,55 @@
1// house = application
2// circle (default) = service
3// box = daemon
4// diamond = library
5// black line = dependency
6// blue line = extension via plugin
7// red line = possibly useful
8// dashed = in planning
9
10// this is what we have...o
11digraph tng {
12 // splines = true;
13 compound=true;
14 subgraph cluster0 {
15 label="Our peer";
16 style=dashed;
17 color=black;
18 subgraph cluster1 {
19 style=solid;
20 color=black;
21 tcp;
22 udp;
23 others [style=dotted];
24 label="Communicators";
25 }
26 subgraph cluster2 {
27 style=solid;
28 color=black;
29 dht;
30 fs;
31 cadet;
32 label="Applications";
33 }
34 cadet -> core [ltail=cluster2,label="Communicate with peers"];
35 dht -> transport [ltail=cluster2,label="Suggest connection to peer"];
36 core -> transport [label="Send/receive messages via secure channel"];
37 transport -> tcp [lhead=cluster1,dir=both,label="Offer connectivity/channel to other peer"];
38 udp -> nat [label="Get addresses"];
39 tcp -> nat;
40 }
41 subgraph cluster3 {
42 rank = sink;
43 style=dashed;
44 color=black;
45 peer3;
46 peer1;
47 peer2;
48 label="Other peers";
49 }
50
51
52 tcp -> peer1 [dir=both];
53 udp -> peer2;
54 transport->peer1 [style=invis];
55}
diff --git a/doc/handbook/images/tng.png b/doc/handbook/images/tng.png
new file mode 100644
index 000000000..3b93b77cc
--- /dev/null
+++ b/doc/handbook/images/tng.png
Binary files differ
diff --git a/doc/man/Makefile.am b/doc/man/Makefile.am
index a0283cf44..e7045e8bf 100644
--- a/doc/man/Makefile.am
+++ b/doc/man/Makefile.am
@@ -50,6 +50,7 @@ man_MANS = \
50 gnunet-arm.1 \ 50 gnunet-arm.1 \
51 gnunet-ats.1 \ 51 gnunet-ats.1 \
52 gnunet-auto-share.1 \ 52 gnunet-auto-share.1 \
53 gnunet-base32.1 \
53 gnunet-bcd.1 \ 54 gnunet-bcd.1 \
54 gnunet-bugreport.1 \ 55 gnunet-bugreport.1 \
55 gnunet-config.1 \ 56 gnunet-config.1 \
diff --git a/doc/man/gnunet-base32.1 b/doc/man/gnunet-base32.1
new file mode 100644
index 000000000..2e1224279
--- /dev/null
+++ b/doc/man/gnunet-base32.1
@@ -0,0 +1,74 @@
1.\" This file is part of GNUnet.
2.\" Copyright (C) 2021 GNUnet e.V.
3.\"
4.\" Permission is granted to copy, distribute and/or modify this document
5.\" under the terms of the GNU Free Documentation License, Version 1.3 or
6.\" any later version published by the Free Software Foundation; with no
7.\" Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A
8.\" copy of the license is included in the file
9.\" FDL-1.3.
10.\"
11.\" A copy of the license is also available from the Free Software
12.\" Foundation Web site at http://www.gnu.org/licenses/fdl.html}.
13.\"
14.\" Alternately, this document is also available under the General
15.\" Public License, version 3 or later, as published by the Free Software
16.\" Foundation. A copy of the license is included in the file
17.\" GPL3.
18.\"
19.\" A copy of the license is also available from the Free Software
20.\" Foundation Web site at http://www.gnu.org/licenses/gpl.html
21.\"
22.\" SPDX-License-Identifier: GPL3.0-or-later OR FDL1.3-or-later
23.\"
24.Dd March 5, 2021
25.Dt GNUNET-BASE32 1
26.Os
27.Sh NAME
28.Nm gnunet-base32
29.Nd encode/decode to Crockford base32 encoding
30.Sh SYNOPSIS
31.Nm
32.Op Fl d | -decode
33.sp
34.Sh DESCRIPTION
35.Nm
36By default, encodes data read from standard input into
37Crockford base32 and writes the result to standard output.
38The inverse operation is performed if the option
39.Fl --decode
40is given. Note that the tool keeps all of the data in
41memory and is largely intended for quick debugging and
42not for high performance.
43.Bl -tag -width indent
44.It Fl d | -decode
45Run in decode mode instead of in encode mode.
46.It Fl h | -help
47Print short help on options.
48.It Fl v | -version
49Print GNUnet version number.
50.El
51.Sh SEE ALSO
52The full documentation for gnunet is maintained as a Texinfo manual.
53If the
54.Xr info 1
55and gnunet programs are properly installed at your site, the command
56.Pp
57.Dl info gnunet
58.Pp
59should give you access to the complete handbook,
60.Pp
61.Dl info gnunet-c-tutorial
62.Pp
63will give you access to a tutorial for developers.
64.sp
65Depending on your installation, this information is also available in
66.Xr gnunet 7 and
67.Xr gnunet-c-tutorial 7 .
68.\".Sh HISTORY
69.\".Sh AUTHORS
70.Sh BUGS
71Report bugs by using
72.Lk https://bugs.gnunet.org
73or by sending electronic mail to
74.Aq Mt gnunet-developers@gnu.org .
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 @@
1# This Makefile.am is in the public domain 1# This Makefile.am is in the public domain
2docdir = $(datadir)/doc/gnunet/ 2docdir = $(datadir)/doc/gnunet/
3 3
4if ACTIVATE_TEXINFO4 4AM_MAKEINFOHTMLFLAGS = $(TEXINFO_HTMLFLAGS)
5# NOTE: While GNU makeinfo 6.5 supports --css-ref=URL, 5
6# makeinfo 4.8 (in NetBSD 8.0, macOS, and maybe other
7# base) does only support --css-include=FILE.
8# The only difference is a shorter html output and
9# in 6.5 the ability to use refs instead of include.
10# We prefer not to break builds in this case, so
11# we use the include version which is backwards compatible
12# and upwards compatible, while the ref variant is neither.
13AM_MAKEINFOHTMLFLAGS = --no-split --css-include=style.css --css-include=manual.css
14else
15# In the 5.x version they added `--split=chapters|sections` in
16# addition to `--split=nodes`.
17# Hold on to your hats: In version 6.5 this is already removed, ffs.
18# GNU Texinfo, please be more consistent than 1 version in switches.
19# This however is compatible to version 5.2. Thanks, I hate it.
20# AM_MAKEINFOHTMLFLAGS = --split=sections --css-ref="../style.css" --css-ref="../manual.css"
21AM_MAKEINFOHTMLFLAGS = --split --css-ref="../style.css" --css-ref="../manual.css"
22endif
23 6
24gnunet_tutorial_examples = \ 7gnunet_tutorial_examples = \
25 examples/001.c \ 8 examples/001.c \