diff options
Diffstat (limited to 'doc')
-rw-r--r-- | doc/Makefile.am | 2 | ||||
-rw-r--r-- | doc/handbook/Makefile.am | 40 | ||||
-rw-r--r-- | doc/handbook/chapters/developer.texi | 30 | ||||
-rw-r--r-- | doc/handbook/chapters/user.texi | 109 | ||||
-rw-r--r-- | doc/handbook/images/tng.dot | 55 | ||||
-rw-r--r-- | doc/handbook/images/tng.png | bin | 0 -> 75821 bytes | |||
-rw-r--r-- | doc/man/Makefile.am | 1 | ||||
-rw-r--r-- | doc/man/gnunet-base32.1 | 74 | ||||
-rw-r--r-- | doc/tutorial/Makefile.am | 21 |
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 | |||
2 | if DOCUMENTATION | 4 | if DOCUMENTATION |
3 | SUBDIRS = doxygen handbook tutorial | 5 | SUBDIRS = doxygen handbook tutorial |
4 | endif | 6 | 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/ | |||
3 | 3 | ||
4 | infoimagedir = $(infodir)/images | 4 | infoimagedir = $(infodir)/images |
5 | 5 | ||
6 | if ACTIVATE_TEXINFO4 | 6 | AM_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. | ||
15 | AM_MAKEINFOHTMLFLAGS = --no-split --css-include=style.css --css-include=manual.css | ||
16 | else | ||
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" | ||
23 | AM_MAKEINFOHTMLFLAGS = --no-split --css-ref="../style.css" --css-ref="../manual.css" | ||
24 | endif | ||
25 | 8 | ||
26 | dist_infoimage_DATA = \ | 9 | dist_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 | ||
81 | EXTRA_DIST = \ | 83 | EXTRA_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 | |||
9485 | to select a plugin and allocate bandwidth. The following key issues have been | 9485 | to select a plugin and allocate bandwidth. The following key issues have been |
9486 | identified with this design: | 9486 | identified 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 | ||
9565 | The new architecture is planned as follows: | 9560 | The new architecture is planned as follows: |
9566 | 9561 | ||
9567 | @verbatim | ||
9568 | |||
9569 | APPLICATIONS | ||
9570 | | | ||
9571 | | | ||
9572 | CORE -- TRANSPORT -- COMMUNICATOR(S) -- NAT | ||
9573 | \ / | ||
9574 | \ / | ||
9575 | PEERSTORE | ||
9576 | 9562 | ||
9577 | @end verbatim | 9563 | @image{images/tng,5in,,TNG architecture.} |
9578 | 9564 | ||
9579 | TRANSPORT's main objective is to establish bi-directional virtual links using a | 9565 | TRANSPORT's main objective is to establish bi-directional virtual links using a |
9580 | variety of possibly uni-directional communicators. Links undergo the following | 9566 | variety 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 | |||
1539 | where the name was encountered) and hence generate a | 1539 | where the name was encountered) and hence generate a |
1540 | valid GNS name. | 1540 | valid GNS name. |
1541 | 1541 | ||
1542 | GNS currently supports the following record types: | 1542 | The 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}. | ||
1544 | In addition, GNS supports DNS record types, such as A, AAAA or TXT. | ||
1545 | |||
1546 | In the following, we discuss GNS records with specific behaviour or special | ||
1547 | handling 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: | |||
1658 | TCP_REDIRECTS = 80:localhost4:8080 | 1650 | TCP_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 | |||
1664 | Those 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 | ||
1779 | Record 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 | ||
1786 | Record 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 | ||
1793 | Record 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 | ||
1800 | Record 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 | ||
1807 | Record 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 | ||
1814 | Record 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 | ||
1821 | Record 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 | ||
1828 | Record 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 | ||
1835 | Record 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 | ||
1842 | Record 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 | ||
1849 | Record 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 | ||
1856 | Record 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 | ||
11 | digraph 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 | ||
36 | By default, encodes data read from standard input into | ||
37 | Crockford base32 and writes the result to standard output. | ||
38 | The inverse operation is performed if the option | ||
39 | .Fl --decode | ||
40 | is given. Note that the tool keeps all of the data in | ||
41 | memory and is largely intended for quick debugging and | ||
42 | not for high performance. | ||
43 | .Bl -tag -width indent | ||
44 | .It Fl d | -decode | ||
45 | Run in decode mode instead of in encode mode. | ||
46 | .It Fl h | -help | ||
47 | Print short help on options. | ||
48 | .It Fl v | -version | ||
49 | Print GNUnet version number. | ||
50 | .El | ||
51 | .Sh SEE ALSO | ||
52 | The full documentation for gnunet is maintained as a Texinfo manual. | ||
53 | If the | ||
54 | .Xr info 1 | ||
55 | and gnunet programs are properly installed at your site, the command | ||
56 | .Pp | ||
57 | .Dl info gnunet | ||
58 | .Pp | ||
59 | should give you access to the complete handbook, | ||
60 | .Pp | ||
61 | .Dl info gnunet-c-tutorial | ||
62 | .Pp | ||
63 | will give you access to a tutorial for developers. | ||
64 | .sp | ||
65 | Depending 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 | ||
71 | Report bugs by using | ||
72 | .Lk https://bugs.gnunet.org | ||
73 | or 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 |
2 | docdir = $(datadir)/doc/gnunet/ | 2 | docdir = $(datadir)/doc/gnunet/ |
3 | 3 | ||
4 | if ACTIVATE_TEXINFO4 | 4 | AM_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. | ||
13 | AM_MAKEINFOHTMLFLAGS = --no-split --css-include=style.css --css-include=manual.css | ||
14 | else | ||
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" | ||
21 | AM_MAKEINFOHTMLFLAGS = --split --css-ref="../style.css" --css-ref="../manual.css" | ||
22 | endif | ||
23 | 6 | ||
24 | gnunet_tutorial_examples = \ | 7 | gnunet_tutorial_examples = \ |
25 | examples/001.c \ | 8 | examples/001.c \ |