diff options
Diffstat (limited to 'doc')
60 files changed, 1721 insertions, 1392 deletions
diff --git a/doc/Makefile.am b/doc/Makefile.am index 4443b42f8..eb23b534b 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am | |||
@@ -1,9 +1,14 @@ | |||
1 | # This Makefile.am is in the public domain | 1 | # This Makefile.am is in the public domain |
2 | if DOCUMENTATION | 2 | if DOCUMENTATION |
3 | SUBDIRS = man doxygen handbook tutorial | 3 | SUBDIRS = doxygen handbook tutorial |
4 | endif | 4 | endif |
5 | |||
5 | if !DOCUMENTATION | 6 | if !DOCUMENTATION |
6 | SUBDIRS = man doxygen | 7 | SUBDIRS = doxygen |
8 | endif | ||
9 | |||
10 | if INCLUDE_MANPAGES | ||
11 | SUBDIRS += man | ||
7 | endif | 12 | endif |
8 | 13 | ||
9 | EXTRA_DIST = \ | 14 | EXTRA_DIST = \ |
@@ -7,5 +7,5 @@ | |||
7 | * | 7 | * |
8 | * Some additional documentation can be found under [Files](files.html), in the src/include/ directory. | 8 | * Some additional documentation can be found under [Files](files.html), in the src/include/ directory. |
9 | * | 9 | * |
10 | * See also the [handbooks](https://gnunet.org/handbooks) on installation, and for user and developer documentation. | 10 | * See also the [handbooks](https://docs.gnunet.org/) on installation, and for user and developer documentation. |
11 | */ | 11 | */ |
diff --git a/doc/handbook/Makefile.am b/doc/handbook/Makefile.am index 57a85bd56..a50a58937 100644 --- a/doc/handbook/Makefile.am +++ b/doc/handbook/Makefile.am | |||
@@ -18,7 +18,7 @@ infoimagedir = $(infodir)/images | |||
18 | # we use the include version which is backwards compatible | 18 | # we use the include version which is backwards compatible |
19 | # and upwards compatible, while the ref variant is neither. | 19 | # and upwards compatible, while the ref variant is neither. |
20 | 20 | ||
21 | AM_MAKEINFOHTMLFLAGS = --no-split --css-include=manual.css | 21 | AM_MAKEINFOHTMLFLAGS = --no-split --css-include=style.css --css-include=manual.css |
22 | 22 | ||
23 | dist_infoimage_DATA = \ | 23 | dist_infoimage_DATA = \ |
24 | images/gnunet-gtk-0-10-gns-a-done.png \ | 24 | images/gnunet-gtk-0-10-gns-a-done.png \ |
@@ -154,13 +154,6 @@ version.texi/replacement/revert: | |||
154 | @echo "@set VERSION GPACKAGE_VERSION" > gversion.texi | 154 | @echo "@set VERSION GPACKAGE_VERSION" > gversion.texi |
155 | @echo "@set EDITION GPACKAGE_VERSION" >> gversion.texi | 155 | @echo "@set EDITION GPACKAGE_VERSION" >> gversion.texi |
156 | 156 | ||
157 | if TEXI2MDOC_GENERATION | ||
158 | gnunet-documentation.7: version.texi/replacement | ||
159 | @echo Attempting to output an mdoc formatted section 7 document | ||
160 | @texi2mdoc -I$(pwd):$(pwd)/chapters gnunet.texi > ../man/gnunet-documentation.7 | ||
161 | |||
162 | # TODO: (Maybe) other outputs resulting from this. | ||
163 | endif | ||
164 | 157 | ||
165 | # FIXME: rm *.html and *.pdf | 158 | # FIXME: rm *.html and *.pdf |
166 | #doc-clean: | 159 | #doc-clean: |
diff --git a/doc/handbook/chapters/developer.texi b/doc/handbook/chapters/developer.texi index cd81fcfb7..6c426ebad 100644 --- a/doc/handbook/chapters/developer.texi +++ b/doc/handbook/chapters/developer.texi | |||
@@ -202,7 +202,8 @@ Gtk+-based user interfaces, including: | |||
202 | @item @command{gnunet-statistics-gtk} (statistics over time), | 202 | @item @command{gnunet-statistics-gtk} (statistics over time), |
203 | @item @command{gnunet-peerinfo-gtk} | 203 | @item @command{gnunet-peerinfo-gtk} |
204 | (information about current connections and known peers), | 204 | (information about current connections and known peers), |
205 | @item @command{gnunet-chat-gtk} (chat GUI) and | 205 | @item @command{gnunet-namestore-gtk} (GNS record editor), |
206 | @item @command{gnunet-conversation-gtk} (voice chat GUI) and | ||
206 | @item @command{gnunet-setup} (setup tool for "everything") | 207 | @item @command{gnunet-setup} (setup tool for "everything") |
207 | @end itemize | 208 | @end itemize |
208 | 209 | ||
@@ -2176,7 +2177,7 @@ work): | |||
2176 | @example | 2177 | @example |
2177 | export PYPI=@value{PYPI-URL} | 2178 | export PYPI=@value{PYPI-URL} |
2178 | wget $PYPI/z/zope.interface/zope.interface-3.8.0.tar.gz | 2179 | wget $PYPI/z/zope.interface/zope.interface-3.8.0.tar.gz |
2179 | tar zvfz zope.interface-3.8.0.tar.gz | 2180 | tar xzvf zope.interface-3.8.0.tar.gz |
2180 | cd zope.interface-3.8.0 | 2181 | cd zope.interface-3.8.0 |
2181 | sudo python setup.py install | 2182 | sudo python setup.py install |
2182 | @end example | 2183 | @end example |
@@ -2401,10 +2402,11 @@ the program at various levels. | |||
2401 | @file{gnunet_common.h} defines several @strong{log levels}: | 2402 | @file{gnunet_common.h} defines several @strong{log levels}: |
2402 | @table @asis | 2403 | @table @asis |
2403 | 2404 | ||
2404 | @item ERROR for errors (really problematic situations, often leading to | 2405 | @item ERROR for errors |
2405 | crashes) | 2406 | (really problematic situations, often leading to crashes) |
2406 | @item WARNING for warnings (troubling situations that might have | 2407 | @item WARNING for warnings |
2407 | negative consequences, although not fatal) | 2408 | (troubling situations that might have negative consequences, although |
2409 | not fatal) | ||
2408 | @item INFO for various information. | 2410 | @item INFO for various information. |
2409 | Used somewhat rarely, as GNUnet statistics is used to hold and display | 2411 | Used somewhat rarely, as GNUnet statistics is used to hold and display |
2410 | most of the information that users might find interesting. | 2412 | most of the information that users might find interesting. |
@@ -2830,7 +2832,7 @@ which both ensure correct alignment when sending structs over the network. | |||
2830 | @c *********************************************************************** | 2832 | @c *********************************************************************** |
2831 | @node Client - Establish connection | 2833 | @node Client - Establish connection |
2832 | @subsubsection Client - Establish connection | 2834 | @subsubsection Client - Establish connection |
2833 | @c %**end of header | 2835 | |
2834 | 2836 | ||
2835 | 2837 | ||
2836 | At first, on the client side, the underlying API is employed to create a | 2838 | At first, on the client side, the underlying API is employed to create a |
@@ -2845,7 +2847,7 @@ client = GNUNET_CLIENT_connect ("transport", cfg); | |||
2845 | @c *********************************************************************** | 2847 | @c *********************************************************************** |
2846 | @node Client - Initialize request message | 2848 | @node Client - Initialize request message |
2847 | @subsubsection Client - Initialize request message | 2849 | @subsubsection Client - Initialize request message |
2848 | @c %**end of header | 2850 | |
2849 | 2851 | ||
2850 | When the connection is ready, we initialize the message. In this step, | 2852 | When the connection is ready, we initialize the message. In this step, |
2851 | all the fields of the message should be properly initialized, namely the | 2853 | all the fields of the message should be properly initialized, namely the |
@@ -2878,7 +2880,7 @@ Big Endian and Little Endian. | |||
2878 | @c *********************************************************************** | 2880 | @c *********************************************************************** |
2879 | @node Client - Send request and receive response | 2881 | @node Client - Send request and receive response |
2880 | @subsubsection Client - Send request and receive response | 2882 | @subsubsection Client - Send request and receive response |
2881 | @c %**end of header | 2883 | |
2882 | 2884 | ||
2883 | @b{FIXME: This is very outdated, see the tutorial for the current API!} | 2885 | @b{FIXME: This is very outdated, see the tutorial for the current API!} |
2884 | 2886 | ||
@@ -2913,7 +2915,7 @@ int main(int argc, char**argv) @{ | |||
2913 | @c *********************************************************************** | 2915 | @c *********************************************************************** |
2914 | @node Server - Add new handles for specified messages | 2916 | @node Server - Add new handles for specified messages |
2915 | @subsubsection Server - Add new handles for specified messages | 2917 | @subsubsection Server - Add new handles for specified messages |
2916 | @c %**end of header | 2918 | |
2917 | 2919 | ||
2918 | in the function above the argument @code{run} is used to initiate | 2920 | in the function above the argument @code{run} is used to initiate |
2919 | transport service,and defined like this: | 2921 | transport service,and defined like this: |
@@ -2971,7 +2973,7 @@ depicted as @code{@{NULL, NULL, 0, 0@}} is set in the last area. | |||
2971 | @c *********************************************************************** | 2973 | @c *********************************************************************** |
2972 | @node Server - Process request message | 2974 | @node Server - Process request message |
2973 | @subsubsection Server - Process request message | 2975 | @subsubsection Server - Process request message |
2974 | @c %**end of header | 2976 | |
2975 | 2977 | ||
2976 | After the initialization of transport service, the request message would | 2978 | After the initialization of transport service, the request message would |
2977 | be processed. Before handling the main message data, the validity of this | 2979 | be processed. Before handling the main message data, the validity of this |
@@ -3022,7 +3024,7 @@ message. | |||
3022 | @c *********************************************************************** | 3024 | @c *********************************************************************** |
3023 | @node Server - Response to client | 3025 | @node Server - Response to client |
3024 | @subsubsection Server - Response to client | 3026 | @subsubsection Server - Response to client |
3025 | @c %**end of header | 3027 | |
3026 | 3028 | ||
3027 | Once the processing of current request is done, the server should give the | 3029 | Once the processing of current request is done, the server should give the |
3028 | response to the client. A new @code{struct AddressLookupMessage} would be | 3030 | response to the client. A new @code{struct AddressLookupMessage} would be |
@@ -3058,7 +3060,7 @@ to send the message. | |||
3058 | @c *********************************************************************** | 3060 | @c *********************************************************************** |
3059 | @node Server - Notification of clients | 3061 | @node Server - Notification of clients |
3060 | @subsubsection Server - Notification of clients | 3062 | @subsubsection Server - Notification of clients |
3061 | @c %**end of header | 3063 | |
3062 | 3064 | ||
3063 | Often a service needs to (repeatedly) transmit notifications to a client | 3065 | Often a service needs to (repeatedly) transmit notifications to a client |
3064 | or a group of clients. In these cases, the client typically has once | 3066 | or a group of clients. In these cases, the client typically has once |
@@ -3087,7 +3089,7 @@ messages to the server. | |||
3087 | @node Conversion between Network Byte Order (Big Endian) and Host Byte Order | 3089 | @node Conversion between Network Byte Order (Big Endian) and Host Byte Order |
3088 | @subsubsection Conversion between Network Byte Order (Big Endian) and Host Byte Order | 3090 | @subsubsection Conversion between Network Byte Order (Big Endian) and Host Byte Order |
3089 | @c %** subsub? it's a referenced page on the ipc document. | 3091 | @c %** subsub? it's a referenced page on the ipc document. |
3090 | @c %**end of header | 3092 | |
3091 | 3093 | ||
3092 | Here we can simply comprehend big endian and little endian as Network Byte | 3094 | Here we can simply comprehend big endian and little endian as Network Byte |
3093 | Order and Host Byte Order respectively. What is the difference between | 3095 | Order and Host Byte Order respectively. What is the difference between |
@@ -3143,7 +3145,7 @@ byte order. | |||
3143 | @cindex Cryptography API | 3145 | @cindex Cryptography API |
3144 | @node Cryptography API | 3146 | @node Cryptography API |
3145 | @subsection Cryptography API | 3147 | @subsection Cryptography API |
3146 | @c %**end of header | 3148 | |
3147 | 3149 | ||
3148 | The gnunetutil APIs provides the cryptographic primitives used in GNUnet. | 3150 | The gnunetutil APIs provides the cryptographic primitives used in GNUnet. |
3149 | GNUnet uses 2048 bit RSA keys for the session key exchange and for signing | 3151 | GNUnet uses 2048 bit RSA keys for the session key exchange and for signing |
@@ -3180,7 +3182,7 @@ should be considered secure for traditional applications of RSA. | |||
3180 | @cindex Message Queue API | 3182 | @cindex Message Queue API |
3181 | @node Message Queue API | 3183 | @node Message Queue API |
3182 | @subsection Message Queue API | 3184 | @subsection Message Queue API |
3183 | @c %**end of header | 3185 | |
3184 | 3186 | ||
3185 | @strong{ Introduction }@ | 3187 | @strong{ Introduction }@ |
3186 | Often, applications need to queue messages that | 3188 | Often, applications need to queue messages that |
@@ -3324,7 +3326,7 @@ callback. When canceling an envelope, it is not necessary@ to call | |||
3324 | @cindex Service API | 3326 | @cindex Service API |
3325 | @node Service API | 3327 | @node Service API |
3326 | @subsection Service API | 3328 | @subsection Service API |
3327 | @c %**end of header | 3329 | |
3328 | 3330 | ||
3329 | Most GNUnet code lives in the form of services. Services are processes | 3331 | Most GNUnet code lives in the form of services. Services are processes |
3330 | that offer an API for other components of the system to build on. Those | 3332 | that offer an API for other components of the system to build on. Those |
@@ -3400,7 +3402,7 @@ clients to set (possibly persistent) statistic values before terminating. | |||
3400 | @c *********************************************************************** | 3402 | @c *********************************************************************** |
3401 | @node Optimizing Memory Consumption of GNUnet's (Multi-) Hash Maps | 3403 | @node Optimizing Memory Consumption of GNUnet's (Multi-) Hash Maps |
3402 | @subsection Optimizing Memory Consumption of GNUnet's (Multi-) Hash Maps | 3404 | @subsection Optimizing Memory Consumption of GNUnet's (Multi-) Hash Maps |
3403 | @c %**end of header | 3405 | |
3404 | 3406 | ||
3405 | A commonly used data structure in GNUnet is a (multi-)hash map. It is most | 3407 | A commonly used data structure in GNUnet is a (multi-)hash map. It is most |
3406 | often used to map a peer identity to some data structure, but also to map | 3408 | often used to map a peer identity to some data structure, but also to map |
@@ -3424,7 +3426,7 @@ the hash map. | |||
3424 | 3426 | ||
3425 | @node Analysis | 3427 | @node Analysis |
3426 | @subsubsection Analysis | 3428 | @subsubsection Analysis |
3427 | @c %**end of header | 3429 | |
3428 | 3430 | ||
3429 | The main reason for the "excessive" memory consumption by the hash map is | 3431 | The main reason for the "excessive" memory consumption by the hash map is |
3430 | that GNUnet uses 512-bit cryptographic hash codes --- and the | 3432 | that GNUnet uses 512-bit cryptographic hash codes --- and the |
@@ -3475,7 +3477,7 @@ we tend to really try to keep the entries small. | |||
3475 | @c *********************************************************************** | 3477 | @c *********************************************************************** |
3476 | @node Solution | 3478 | @node Solution |
3477 | @subsubsection Solution | 3479 | @subsubsection Solution |
3478 | @c %**end of header | 3480 | |
3479 | 3481 | ||
3480 | The solution that has now been implemented is to @strong{optionally} | 3482 | The solution that has now been implemented is to @strong{optionally} |
3481 | allow the hash map to not make a (deep) copy of the hash but instead have | 3483 | allow the hash map to not make a (deep) copy of the hash but instead have |
@@ -3493,7 +3495,7 @@ pointer and undefined behavior of the (multi-)hash map API. | |||
3493 | @c *********************************************************************** | 3495 | @c *********************************************************************** |
3494 | @node Migration | 3496 | @node Migration |
3495 | @subsubsection Migration | 3497 | @subsubsection Migration |
3496 | @c %**end of header | 3498 | |
3497 | 3499 | ||
3498 | To use the new feature, first check that the values contain the respective | 3500 | To use the new feature, first check that the values contain the respective |
3499 | key (and never modify it). Then, all calls to | 3501 | key (and never modify it). Then, all calls to |
@@ -3542,7 +3544,7 @@ removed from the map, undefined behavior is likely to be observed. | |||
3542 | @c *********************************************************************** | 3544 | @c *********************************************************************** |
3543 | @node Conclusion | 3545 | @node Conclusion |
3544 | @subsubsection Conclusion | 3546 | @subsubsection Conclusion |
3545 | @c %**end of header | 3547 | |
3546 | 3548 | ||
3547 | The new optimization can is often applicable and can result in a | 3549 | The new optimization can is often applicable and can result in a |
3548 | reduction in memory consumption of up to 30% in practice. However, it | 3550 | reduction in memory consumption of up to 30% in practice. However, it |
@@ -3555,10 +3557,11 @@ at least until benchmarks exist). | |||
3555 | @c *********************************************************************** | 3557 | @c *********************************************************************** |
3556 | @node Availability | 3558 | @node Availability |
3557 | @subsubsection Availability | 3559 | @subsubsection Availability |
3558 | @c %**end of header | ||
3559 | 3560 | ||
3560 | The new multi hash map code was committed in SVN 24319 (will be in GNUnet | 3561 | |
3561 | 0.9.4). Various subsystems (transport, core, dht, file-sharing) were | 3562 | The new multi hash map code was committed in SVN 24319 (which made its |
3563 | way into GNUnet version 0.9.4). | ||
3564 | Various subsystems (transport, core, dht, file-sharing) were | ||
3562 | previously audited and modified to take advantage of the new capability. | 3565 | previously audited and modified to take advantage of the new capability. |
3563 | In particular, memory consumption of the file-sharing service is expected | 3566 | In particular, memory consumption of the file-sharing service is expected |
3564 | to drop by 20-30% due to this change. | 3567 | to drop by 20-30% due to this change. |
@@ -3567,7 +3570,7 @@ to drop by 20-30% due to this change. | |||
3567 | @cindex CONTAINER_MDLL API | 3570 | @cindex CONTAINER_MDLL API |
3568 | @node CONTAINER_MDLL API | 3571 | @node CONTAINER_MDLL API |
3569 | @subsection CONTAINER_MDLL API | 3572 | @subsection CONTAINER_MDLL API |
3570 | @c %**end of header | 3573 | |
3571 | 3574 | ||
3572 | This text documents the GNUNET_CONTAINER_MDLL API. The | 3575 | This text documents the GNUNET_CONTAINER_MDLL API. The |
3573 | GNUNET_CONTAINER_MDLL API is similar to the GNUNET_CONTAINER_DLL API in | 3576 | GNUNET_CONTAINER_MDLL API is similar to the GNUNET_CONTAINER_DLL API in |
@@ -3633,7 +3636,7 @@ Iterating over the list should be done by directly accessing the | |||
3633 | @cindex ARM | 3636 | @cindex ARM |
3634 | @node Automatic Restart Manager (ARM) | 3637 | @node Automatic Restart Manager (ARM) |
3635 | @section Automatic Restart Manager (ARM) | 3638 | @section Automatic Restart Manager (ARM) |
3636 | @c %**end of header | 3639 | |
3637 | 3640 | ||
3638 | GNUnet's Automated Restart Manager (ARM) is the GNUnet service responsible | 3641 | GNUnet's Automated Restart Manager (ARM) is the GNUnet service responsible |
3639 | for system initialization and service babysitting. ARM starts and halts | 3642 | for system initialization and service babysitting. ARM starts and halts |
@@ -3654,7 +3657,7 @@ about how ARM works and how to interact with it. | |||
3654 | @c *********************************************************************** | 3657 | @c *********************************************************************** |
3655 | @node Basic functionality | 3658 | @node Basic functionality |
3656 | @subsection Basic functionality | 3659 | @subsection Basic functionality |
3657 | @c %**end of header | 3660 | |
3658 | 3661 | ||
3659 | @itemize @bullet | 3662 | @itemize @bullet |
3660 | @item ARM source code can be found under "src/arm".@ Service processes are | 3663 | @item ARM source code can be found under "src/arm".@ Service processes are |
@@ -3678,7 +3681,7 @@ it to start a service "resolver", stops the "resolver" then stops "ARM". | |||
3678 | @c *********************************************************************** | 3681 | @c *********************************************************************** |
3679 | @node Key configuration options | 3682 | @node Key configuration options |
3680 | @subsection Key configuration options | 3683 | @subsection Key configuration options |
3681 | @c %**end of header | 3684 | |
3682 | 3685 | ||
3683 | Configurations for ARM and services should be available in a .conf file | 3686 | Configurations for ARM and services should be available in a .conf file |
3684 | (As an example, see test_arm_api_data.conf). When running ARM, the | 3687 | (As an example, see test_arm_api_data.conf). When running ARM, the |
@@ -3747,7 +3750,7 @@ services that are going to run. | |||
3747 | @c *********************************************************************** | 3750 | @c *********************************************************************** |
3748 | @node ARM - Availability | 3751 | @node ARM - Availability |
3749 | @subsection ARM - Availability | 3752 | @subsection ARM - Availability |
3750 | @c %**end of header | 3753 | |
3751 | 3754 | ||
3752 | As mentioned before, one of the features provided by ARM is starting | 3755 | As mentioned before, one of the features provided by ARM is starting |
3753 | services on demand. Consider the example of one service "client" that | 3756 | services on demand. Consider the example of one service "client" that |
@@ -3835,7 +3838,7 @@ problematic service. | |||
3835 | @cindex TRANSPORT Subsystem | 3838 | @cindex TRANSPORT Subsystem |
3836 | @node TRANSPORT Subsystem | 3839 | @node TRANSPORT Subsystem |
3837 | @section TRANSPORT Subsystem | 3840 | @section TRANSPORT Subsystem |
3838 | @c %**end of header | 3841 | |
3839 | 3842 | ||
3840 | This chapter documents how the GNUnet transport subsystem works. The | 3843 | This chapter documents how the GNUnet transport subsystem works. The |
3841 | GNUnet transport subsystem consists of three main components: the | 3844 | GNUnet transport subsystem consists of three main components: the |
@@ -3893,7 +3896,7 @@ transport service. | |||
3893 | 3896 | ||
3894 | @node Address validation protocol | 3897 | @node Address validation protocol |
3895 | @subsection Address validation protocol | 3898 | @subsection Address validation protocol |
3896 | @c %**end of header | 3899 | |
3897 | 3900 | ||
3898 | This section documents how the GNUnet transport service validates | 3901 | This section documents how the GNUnet transport service validates |
3899 | connections with other peers. It is a high-level description of the | 3902 | connections with other peers. It is a high-level description of the |
@@ -3956,7 +3959,7 @@ implementation details). | |||
3956 | @cindex NAT library | 3959 | @cindex NAT library |
3957 | @node NAT library | 3960 | @node NAT library |
3958 | @section NAT library | 3961 | @section NAT library |
3959 | @c %**end of header | 3962 | |
3960 | 3963 | ||
3961 | The goal of the GNUnet NAT library is to provide a general-purpose API for | 3964 | The goal of the GNUnet NAT library is to provide a general-purpose API for |
3962 | NAT traversal @strong{without} third-party support. So protocols that | 3965 | NAT traversal @strong{without} third-party support. So protocols that |
@@ -4003,7 +4006,7 @@ This way, it is easy to test if the current NAT configuration is valid. | |||
4003 | 4006 | ||
4004 | @node Distance-Vector plugin | 4007 | @node Distance-Vector plugin |
4005 | @section Distance-Vector plugin | 4008 | @section Distance-Vector plugin |
4006 | @c %**end of header | 4009 | |
4007 | 4010 | ||
4008 | The Distance Vector (DV) transport is a transport mechanism that allows | 4011 | The Distance Vector (DV) transport is a transport mechanism that allows |
4009 | peers to act as relays for each other, thereby connecting peers that would | 4012 | peers to act as relays for each other, thereby connecting peers that would |
@@ -4072,7 +4075,8 @@ message, and delivers it to Carol as though it came directly from Alice. | |||
4072 | @cindex SMTP plugin | 4075 | @cindex SMTP plugin |
4073 | @node SMTP plugin | 4076 | @node SMTP plugin |
4074 | @section SMTP plugin | 4077 | @section SMTP plugin |
4075 | @c %**end of header | 4078 | |
4079 | @c TODO: Update! | ||
4076 | 4080 | ||
4077 | This section describes the new SMTP transport plugin for GNUnet as it | 4081 | This section describes the new SMTP transport plugin for GNUnet as it |
4078 | exists in the 0.7.x and 0.8.x branch. SMTP support is currently not | 4082 | exists in the 0.7.x and 0.8.x branch. SMTP support is currently not |
@@ -4080,6 +4084,9 @@ available in GNUnet 0.9.x. This page also describes the transport layer | |||
4080 | abstraction (as it existed in 0.7.x and 0.8.x) in more detail and gives | 4084 | abstraction (as it existed in 0.7.x and 0.8.x) in more detail and gives |
4081 | some benchmarking results. The performance results presented are quite | 4085 | some benchmarking results. The performance results presented are quite |
4082 | old and maybe outdated at this point. | 4086 | old and maybe outdated at this point. |
4087 | For the readers in the year 2019, you will notice by the mention of | ||
4088 | version 0.7, 0.8, and 0.9 that this section has to be taken with your | ||
4089 | usual grain of salt and be updated eventually. | ||
4083 | 4090 | ||
4084 | @itemize @bullet | 4091 | @itemize @bullet |
4085 | @item Why use SMTP for a peer-to-peer transport? | 4092 | @item Why use SMTP for a peer-to-peer transport? |
@@ -4101,7 +4108,7 @@ old and maybe outdated at this point. | |||
4101 | 4108 | ||
4102 | @node Why use SMTP for a peer-to-peer transport? | 4109 | @node Why use SMTP for a peer-to-peer transport? |
4103 | @subsection Why use SMTP for a peer-to-peer transport? | 4110 | @subsection Why use SMTP for a peer-to-peer transport? |
4104 | @c %**end of header | 4111 | |
4105 | 4112 | ||
4106 | There are many reasons why one would not want to use SMTP: | 4113 | There are many reasons why one would not want to use SMTP: |
4107 | 4114 | ||
@@ -4136,7 +4143,7 @@ type of situation. | |||
4136 | 4143 | ||
4137 | @node How does it work? | 4144 | @node How does it work? |
4138 | @subsection How does it work? | 4145 | @subsection How does it work? |
4139 | @c %**end of header | 4146 | |
4140 | 4147 | ||
4141 | When a GNUnet peer needs to send a message to another GNUnet peer that has | 4148 | When a GNUnet peer needs to send a message to another GNUnet peer that has |
4142 | advertised (only) an SMTP transport address, GNUnet base64-encodes the | 4149 | advertised (only) an SMTP transport address, GNUnet base64-encodes the |
@@ -4149,7 +4156,7 @@ GNUnet E-mail messages by searching for a generic filter. | |||
4149 | 4156 | ||
4150 | @node How do I configure my peer? | 4157 | @node How do I configure my peer? |
4151 | @subsection How do I configure my peer? | 4158 | @subsection How do I configure my peer? |
4152 | @c %**end of header | 4159 | |
4153 | 4160 | ||
4154 | First, you need to configure @code{procmail} to filter your inbound E-mail | 4161 | First, you need to configure @code{procmail} to filter your inbound E-mail |
4155 | for GNUnet traffic. The GNUnet messages must be delivered into a pipe, for | 4162 | for GNUnet traffic. The GNUnet messages must be delivered into a pipe, for |
@@ -4194,7 +4201,7 @@ This should be it, but you may probably want to test it first. | |||
4194 | 4201 | ||
4195 | @node How do I test if it works? | 4202 | @node How do I test if it works? |
4196 | @subsection How do I test if it works? | 4203 | @subsection How do I test if it works? |
4197 | @c %**end of header | 4204 | |
4198 | 4205 | ||
4199 | Any transport can be subjected to some rudimentary tests using the | 4206 | Any transport can be subjected to some rudimentary tests using the |
4200 | @code{gnunet-transport-check} tool. The tool sends a message to the local | 4207 | @code{gnunet-transport-check} tool. The tool sends a message to the local |
@@ -4217,7 +4224,7 @@ to send and receive messages. | |||
4217 | 4224 | ||
4218 | @node How fast is it? | 4225 | @node How fast is it? |
4219 | @subsection How fast is it? | 4226 | @subsection How fast is it? |
4220 | @c %**end of header | 4227 | |
4221 | 4228 | ||
4222 | We have measured the performance of the UDP, TCP and SMTP transport layer | 4229 | We have measured the performance of the UDP, TCP and SMTP transport layer |
4223 | directly and when used from an application using the GNUnet core. | 4230 | directly and when used from an application using the GNUnet core. |
@@ -4284,7 +4291,7 @@ benchmarking results. | |||
4284 | @cindex Bluetooth plugin | 4291 | @cindex Bluetooth plugin |
4285 | @node Bluetooth plugin | 4292 | @node Bluetooth plugin |
4286 | @section Bluetooth plugin | 4293 | @section Bluetooth plugin |
4287 | @c %**end of header | 4294 | |
4288 | 4295 | ||
4289 | This page describes the new Bluetooth transport plugin for GNUnet. The | 4296 | This page describes the new Bluetooth transport plugin for GNUnet. The |
4290 | plugin is still in the testing stage so don't expect it to work | 4297 | plugin is still in the testing stage so don't expect it to work |
@@ -4310,7 +4317,7 @@ ask on the IRC channel. | |||
4310 | 4317 | ||
4311 | @node What do I need to use the Bluetooth plugin transport? | 4318 | @node What do I need to use the Bluetooth plugin transport? |
4312 | @subsection What do I need to use the Bluetooth plugin transport? | 4319 | @subsection What do I need to use the Bluetooth plugin transport? |
4313 | @c %**end of header | 4320 | |
4314 | 4321 | ||
4315 | If you are a GNU/Linux user and you want to use the Bluetooth | 4322 | If you are a GNU/Linux user and you want to use the Bluetooth |
4316 | transport plugin you should install the | 4323 | transport plugin you should install the |
@@ -4337,7 +4344,7 @@ protocol so we cannot turn on your device programatically! | |||
4337 | @c FIXME: Change to unique title | 4344 | @c FIXME: Change to unique title |
4338 | @node How does it work2? | 4345 | @node How does it work2? |
4339 | @subsection How does it work2? | 4346 | @subsection How does it work2? |
4340 | @c %**end of header | 4347 | |
4341 | 4348 | ||
4342 | The Bluetooth transport plugin uses virtually the same code as the WLAN | 4349 | The Bluetooth transport plugin uses virtually the same code as the WLAN |
4343 | plugin and only the helper binary is different. The helper takes a single | 4350 | plugin and only the helper binary is different. The helper takes a single |
@@ -4367,7 +4374,7 @@ discovery. | |||
4367 | 4374 | ||
4368 | @node What possible errors should I be aware of? | 4375 | @node What possible errors should I be aware of? |
4369 | @subsection What possible errors should I be aware of? | 4376 | @subsection What possible errors should I be aware of? |
4370 | @c %**end of header | 4377 | |
4371 | 4378 | ||
4372 | @emph{This section is dedicated for GNU/Linux users} | 4379 | @emph{This section is dedicated for GNU/Linux users} |
4373 | 4380 | ||
@@ -4406,7 +4413,7 @@ the device and to send some particular commands to it. | |||
4406 | @c FIXME: A more unique name | 4413 | @c FIXME: A more unique name |
4407 | @node How do I configure my peer2? | 4414 | @node How do I configure my peer2? |
4408 | @subsection How do I configure my peer2? | 4415 | @subsection How do I configure my peer2? |
4409 | @c %**end of header | 4416 | |
4410 | 4417 | ||
4411 | On GNU/Linux, you just have to be sure that the interface name | 4418 | On GNU/Linux, you just have to be sure that the interface name |
4412 | corresponds to the one that you want to use. | 4419 | corresponds to the one that you want to use. |
@@ -4440,7 +4447,7 @@ transport service. | |||
4440 | 4447 | ||
4441 | @node How can I test it? | 4448 | @node How can I test it? |
4442 | @subsection How can I test it? | 4449 | @subsection How can I test it? |
4443 | @c %**end of header | 4450 | |
4444 | 4451 | ||
4445 | If you have two Bluetooth devices on the same machine and you are using | 4452 | If you have two Bluetooth devices on the same machine and you are using |
4446 | GNU/Linux you must: | 4453 | GNU/Linux you must: |
@@ -4487,7 +4494,7 @@ transport service. | |||
4487 | 4494 | ||
4488 | @node The implementation of the Bluetooth transport plugin | 4495 | @node The implementation of the Bluetooth transport plugin |
4489 | @subsection The implementation of the Bluetooth transport plugin | 4496 | @subsection The implementation of the Bluetooth transport plugin |
4490 | @c %**end of header | 4497 | |
4491 | 4498 | ||
4492 | This page describes the implementation of the Bluetooth transport plugin. | 4499 | This page describes the implementation of the Bluetooth transport plugin. |
4493 | 4500 | ||
@@ -4521,7 +4528,7 @@ platforms. | |||
4521 | 4528 | ||
4522 | @node Linux functionality | 4529 | @node Linux functionality |
4523 | @subsubsection Linux functionality | 4530 | @subsubsection Linux functionality |
4524 | @c %**end of header | 4531 | |
4525 | 4532 | ||
4526 | In order to implement the plugin functionality on GNU/Linux I | 4533 | In order to implement the plugin functionality on GNU/Linux I |
4527 | used the BlueZ stack. | 4534 | used the BlueZ stack. |
@@ -4617,7 +4624,7 @@ support for @strong{broadcast messages}.} | |||
4617 | 4624 | ||
4618 | @node Details about the broadcast implementation | 4625 | @node Details about the broadcast implementation |
4619 | @subsubsection Details about the broadcast implementation | 4626 | @subsubsection Details about the broadcast implementation |
4620 | @c %**end of header | 4627 | |
4621 | 4628 | ||
4622 | First I want to point out that the broadcast functionality for the CONTROL | 4629 | First I want to point out that the broadcast functionality for the CONTROL |
4623 | messages is not implemented in a conventional way. Since the inquiry scan | 4630 | messages is not implemented in a conventional way. Since the inquiry scan |
@@ -4664,7 +4671,7 @@ simply use the socket. | |||
4664 | 4671 | ||
4665 | @node Windows functionality | 4672 | @node Windows functionality |
4666 | @subsubsection Windows functionality | 4673 | @subsubsection Windows functionality |
4667 | @c %**end of header | 4674 | |
4668 | 4675 | ||
4669 | For Windows I decided to use the Microsoft Bluetooth stack which has the | 4676 | For Windows I decided to use the Microsoft Bluetooth stack which has the |
4670 | advantage of coming standard from Windows XP SP2. The main disadvantage is | 4677 | advantage of coming standard from Windows XP SP2. The main disadvantage is |
@@ -4719,7 +4726,7 @@ broadcast messages. When it receives a broadcast message it will skip it. | |||
4719 | 4726 | ||
4720 | @node Pending features | 4727 | @node Pending features |
4721 | @subsubsection Pending features | 4728 | @subsubsection Pending features |
4722 | @c %**end of header | 4729 | |
4723 | 4730 | ||
4724 | @itemize @bullet | 4731 | @itemize @bullet |
4725 | @item Implement the broadcast functionality on Windows @emph{(currently | 4732 | @item Implement the broadcast functionality on Windows @emph{(currently |
@@ -4735,7 +4742,7 @@ contact me. | |||
4735 | 4742 | ||
4736 | @node WLAN plugin | 4743 | @node WLAN plugin |
4737 | @section WLAN plugin | 4744 | @section WLAN plugin |
4738 | @c %**end of header | 4745 | |
4739 | 4746 | ||
4740 | This section documents how the wlan transport plugin works. Parts which | 4747 | This section documents how the wlan transport plugin works. Parts which |
4741 | are not implemented yet or could be better implemented are described at | 4748 | are not implemented yet or could be better implemented are described at |
@@ -4744,7 +4751,7 @@ the end. | |||
4744 | @cindex ATS Subsystem | 4751 | @cindex ATS Subsystem |
4745 | @node ATS Subsystem | 4752 | @node ATS Subsystem |
4746 | @section ATS Subsystem | 4753 | @section ATS Subsystem |
4747 | @c %**end of header | 4754 | |
4748 | 4755 | ||
4749 | ATS stands for "automatic transport selection", and the function of ATS in | 4756 | ATS stands for "automatic transport selection", and the function of ATS in |
4750 | GNUnet is to decide on which address (and thus transport plugin) should | 4757 | GNUnet is to decide on which address (and thus transport plugin) should |
@@ -4767,7 +4774,7 @@ superior. | |||
4767 | @cindex CORE Subsystem | 4774 | @cindex CORE Subsystem |
4768 | @node CORE Subsystem | 4775 | @node CORE Subsystem |
4769 | @section CORE Subsystem | 4776 | @section CORE Subsystem |
4770 | @c %**end of header | 4777 | |
4771 | 4778 | ||
4772 | The CORE subsystem in GNUnet is responsible for securing link-layer | 4779 | The CORE subsystem in GNUnet is responsible for securing link-layer |
4773 | communications between nodes in the GNUnet overlay network. CORE builds | 4780 | communications between nodes in the GNUnet overlay network. CORE builds |
@@ -4811,7 +4818,7 @@ message counters and ephemeral keys) | |||
4811 | @cindex core subsystem limitations | 4818 | @cindex core subsystem limitations |
4812 | @node Limitations | 4819 | @node Limitations |
4813 | @subsection Limitations | 4820 | @subsection Limitations |
4814 | @c %**end of header | 4821 | |
4815 | 4822 | ||
4816 | CORE does not perform | 4823 | CORE does not perform |
4817 | @uref{http://en.wikipedia.org/wiki/Routing, routing}; using CORE it is | 4824 | @uref{http://en.wikipedia.org/wiki/Routing, routing}; using CORE it is |
@@ -4845,7 +4852,7 @@ control is needed, applications should use the CADET service. | |||
4845 | @cindex when is a peer connected | 4852 | @cindex when is a peer connected |
4846 | @node When is a peer "connected"? | 4853 | @node When is a peer "connected"? |
4847 | @subsection When is a peer "connected"? | 4854 | @subsection When is a peer "connected"? |
4848 | @c %**end of header | 4855 | |
4849 | 4856 | ||
4850 | In addition to the security features mentioned above, CORE also provides | 4857 | In addition to the security features mentioned above, CORE also provides |
4851 | one additional key feature to applications using it, and that is a | 4858 | one additional key feature to applications using it, and that is a |
@@ -4878,7 +4885,7 @@ connection. | |||
4878 | @cindex libgnunetcore | 4885 | @cindex libgnunetcore |
4879 | @node libgnunetcore | 4886 | @node libgnunetcore |
4880 | @subsection libgnunetcore | 4887 | @subsection libgnunetcore |
4881 | @c %**end of header | 4888 | |
4882 | 4889 | ||
4883 | The CORE API (defined in @file{gnunet_core_service.h}) is the basic | 4890 | The CORE API (defined in @file{gnunet_core_service.h}) is the basic |
4884 | messaging API used by P2P applications built using GNUnet. It provides | 4891 | messaging API used by P2P applications built using GNUnet. It provides |
@@ -4943,7 +4950,7 @@ re-established, the applications will be receive matching connect events. | |||
4943 | @cindex core clinet-service protocol | 4950 | @cindex core clinet-service protocol |
4944 | @node The CORE Client-Service Protocol | 4951 | @node The CORE Client-Service Protocol |
4945 | @subsection The CORE Client-Service Protocol | 4952 | @subsection The CORE Client-Service Protocol |
4946 | @c %**end of header | 4953 | |
4947 | 4954 | ||
4948 | This section describes the protocol between an application using the CORE | 4955 | This section describes the protocol between an application using the CORE |
4949 | service (the client) and the CORE service process itself. | 4956 | service (the client) and the CORE service process itself. |
@@ -4957,7 +4964,7 @@ service (the client) and the CORE service process itself. | |||
4957 | 4964 | ||
4958 | @node Setup2 | 4965 | @node Setup2 |
4959 | @subsubsection Setup2 | 4966 | @subsubsection Setup2 |
4960 | @c %**end of header | 4967 | |
4961 | 4968 | ||
4962 | When a client connects to the CORE service, it first sends a | 4969 | When a client connects to the CORE service, it first sends a |
4963 | @code{InitMessage} which specifies options for the connection and a set of | 4970 | @code{InitMessage} which specifies options for the connection and a set of |
@@ -4986,7 +4993,7 @@ both CORE and the client can send messages. | |||
4986 | 4993 | ||
4987 | @node Notifications | 4994 | @node Notifications |
4988 | @subsubsection Notifications | 4995 | @subsubsection Notifications |
4989 | @c %**end of header | 4996 | |
4990 | 4997 | ||
4991 | The CORE will send @code{ConnectNotifyMessage}s and | 4998 | The CORE will send @code{ConnectNotifyMessage}s and |
4992 | @code{DisconnectNotifyMessage}s whenever peers connect or disconnect from | 4999 | @code{DisconnectNotifyMessage}s whenever peers connect or disconnect from |
@@ -5002,7 +5009,7 @@ identity given is that of the receiver. | |||
5002 | 5009 | ||
5003 | @node Sending | 5010 | @node Sending |
5004 | @subsubsection Sending | 5011 | @subsubsection Sending |
5005 | @c %**end of header | 5012 | |
5006 | 5013 | ||
5007 | When a client wants to transmit a message, it first requests a | 5014 | When a client wants to transmit a message, it first requests a |
5008 | transmission slot by sending a @code{SendMessageRequest} which specifies | 5015 | transmission slot by sending a @code{SendMessageRequest} which specifies |
@@ -5022,7 +5029,7 @@ for each request). | |||
5022 | @cindex CORE Peer-to-Peer Protocol | 5029 | @cindex CORE Peer-to-Peer Protocol |
5023 | @node The CORE Peer-to-Peer Protocol | 5030 | @node The CORE Peer-to-Peer Protocol |
5024 | @subsection The CORE Peer-to-Peer Protocol | 5031 | @subsection The CORE Peer-to-Peer Protocol |
5025 | @c %**end of header | 5032 | |
5026 | 5033 | ||
5027 | 5034 | ||
5028 | @menu | 5035 | @menu |
@@ -5035,7 +5042,7 @@ for each request). | |||
5035 | @cindex EphemeralKeyMessage creation | 5042 | @cindex EphemeralKeyMessage creation |
5036 | @node Creating the EphemeralKeyMessage | 5043 | @node Creating the EphemeralKeyMessage |
5037 | @subsubsection Creating the EphemeralKeyMessage | 5044 | @subsubsection Creating the EphemeralKeyMessage |
5038 | @c %**end of header | 5045 | |
5039 | 5046 | ||
5040 | When the CORE service starts, each peer creates a fresh ephemeral (ECC) | 5047 | When the CORE service starts, each peer creates a fresh ephemeral (ECC) |
5041 | public-private key pair and signs the corresponding | 5048 | public-private key pair and signs the corresponding |
@@ -5076,7 +5083,7 @@ connection using the new ephemeral key | |||
5076 | 5083 | ||
5077 | @node Establishing a connection | 5084 | @node Establishing a connection |
5078 | @subsubsection Establishing a connection | 5085 | @subsubsection Establishing a connection |
5079 | @c %**end of header | 5086 | |
5080 | 5087 | ||
5081 | Peers begin their interaction by sending a @code{EphemeralKeyMessage} to | 5088 | Peers begin their interaction by sending a @code{EphemeralKeyMessage} to |
5082 | the other peer once the TRANSPORT service notifies the CORE service about | 5089 | the other peer once the TRANSPORT service notifies the CORE service about |
@@ -5094,7 +5101,7 @@ connection to @code{KX_STATE_UP}. | |||
5094 | 5101 | ||
5095 | @node Encryption and Decryption | 5102 | @node Encryption and Decryption |
5096 | @subsubsection Encryption and Decryption | 5103 | @subsubsection Encryption and Decryption |
5097 | @c %**end of header | 5104 | |
5098 | 5105 | ||
5099 | All functions related to the key exchange and encryption/decryption of | 5106 | All functions related to the key exchange and encryption/decryption of |
5100 | messages can be found in @file{gnunet-service-core_kx.c} (except for the | 5107 | messages can be found in @file{gnunet-service-core_kx.c} (except for the |
@@ -5122,7 +5129,7 @@ older than 12 hours. | |||
5122 | 5129 | ||
5123 | @node Type maps | 5130 | @node Type maps |
5124 | @subsubsection Type maps | 5131 | @subsubsection Type maps |
5125 | @c %**end of header | 5132 | |
5126 | 5133 | ||
5127 | Once an encrypted connection has been established, peers begin to exchange | 5134 | Once an encrypted connection has been established, peers begin to exchange |
5128 | type maps. Type maps are used to allow the CORE service to determine which | 5135 | type maps. Type maps are used to allow the CORE service to determine which |
@@ -5155,6 +5162,8 @@ receiving a type map by sending back a | |||
5155 | retransmit the type map (with exponential back-off). | 5162 | retransmit the type map (with exponential back-off). |
5156 | 5163 | ||
5157 | @cindex CADET Subsystem | 5164 | @cindex CADET Subsystem |
5165 | @cindex CADET | ||
5166 | @cindex cadet | ||
5158 | @node CADET Subsystem | 5167 | @node CADET Subsystem |
5159 | @section CADET Subsystem | 5168 | @section CADET Subsystem |
5160 | 5169 | ||
@@ -5221,6 +5230,7 @@ Should a message get lost on TRANSPORT/CORE level, if a channel is | |||
5221 | created with as reliable, CADET will retransmit the lost message and | 5230 | created with as reliable, CADET will retransmit the lost message and |
5222 | deliver it in order to the destination application. | 5231 | deliver it in order to the destination application. |
5223 | 5232 | ||
5233 | @pindex GNUNET_CADET_connect | ||
5224 | To communicate with other peers using CADET, it is necessary to first | 5234 | To communicate with other peers using CADET, it is necessary to first |
5225 | connect to the service using @code{GNUNET_CADET_connect}. | 5235 | connect to the service using @code{GNUNET_CADET_connect}. |
5226 | This function takes several parameters in form of callbacks, to allow the | 5236 | This function takes several parameters in form of callbacks, to allow the |
@@ -5232,7 +5242,8 @@ CADET, even do one connection per listening port). | |||
5232 | The function returns a handle which has to be used for any further | 5242 | The function returns a handle which has to be used for any further |
5233 | interaction with the service. | 5243 | interaction with the service. |
5234 | 5244 | ||
5235 | To connect to a remote peer a client has to call the | 5245 | @pindex GNUNET_CADET_channel_create |
5246 | To connect to a remote peer, a client has to call the | ||
5236 | @code{GNUNET_CADET_channel_create} function. The most important parameters | 5247 | @code{GNUNET_CADET_channel_create} function. The most important parameters |
5237 | given are the remote peer's identity (it public key) and a port, which | 5248 | given are the remote peer's identity (it public key) and a port, which |
5238 | specifies which application on the remote peer to connect to, similar to | 5249 | specifies which application on the remote peer to connect to, similar to |
@@ -5242,6 +5253,7 @@ exchanges to assure and authenticated, secure and verified communication. | |||
5242 | Similar to @code{GNUNET_CADET_connect},@code{GNUNET_CADET_create_channel} | 5253 | Similar to @code{GNUNET_CADET_connect},@code{GNUNET_CADET_create_channel} |
5243 | returns a handle to interact with the created channel. | 5254 | returns a handle to interact with the created channel. |
5244 | 5255 | ||
5256 | @pindex GNUNET_CADET_notify_transmit_ready | ||
5245 | For every message the client wants to send to the remote application, | 5257 | For every message the client wants to send to the remote application, |
5246 | @code{GNUNET_CADET_notify_transmit_ready} must be called, indicating the | 5258 | @code{GNUNET_CADET_notify_transmit_ready} must be called, indicating the |
5247 | channel on which the message should be sent and the size of the message | 5259 | channel on which the message should be sent and the size of the message |
@@ -5258,6 +5270,7 @@ case. To be alerted when a channel is online, a client can call | |||
5258 | means that the channel is online. The callback can give 0 bytes to CADET | 5270 | means that the channel is online. The callback can give 0 bytes to CADET |
5259 | if no message is to be sent, this is OK. | 5271 | if no message is to be sent, this is OK. |
5260 | 5272 | ||
5273 | @pindex GNUNET_CADET_notify_transmit_cancel | ||
5261 | If a transmission was requested but before the callback fires it is no | 5274 | If a transmission was requested but before the callback fires it is no |
5262 | longer needed, it can be canceled with | 5275 | longer needed, it can be canceled with |
5263 | @code{GNUNET_CADET_notify_transmit_ready_cancel}, which uses the handle | 5276 | @code{GNUNET_CADET_notify_transmit_ready_cancel}, which uses the handle |
@@ -5266,6 +5279,7 @@ As in the case of CORE, only one message can be requested at a time: a | |||
5266 | client must not call @code{GNUNET_CADET_notify_transmit_ready} again until | 5279 | client must not call @code{GNUNET_CADET_notify_transmit_ready} again until |
5267 | the callback is called or the request is canceled. | 5280 | the callback is called or the request is canceled. |
5268 | 5281 | ||
5282 | @pindex GNUNET_CADET_channel_destroy | ||
5269 | When a channel is no longer needed, a client can call | 5283 | When a channel is no longer needed, a client can call |
5270 | @code{GNUNET_CADET_channel_destroy} to get rid of it. | 5284 | @code{GNUNET_CADET_channel_destroy} to get rid of it. |
5271 | Note that CADET will try to transmit all pending traffic before notifying | 5285 | Note that CADET will try to transmit all pending traffic before notifying |
@@ -5277,6 +5291,7 @@ on any incoming or outgoing channels are given to the client when CADET | |||
5277 | executes the callbacks given to it at the time of | 5291 | executes the callbacks given to it at the time of |
5278 | @code{GNUNET_CADET_connect}. | 5292 | @code{GNUNET_CADET_connect}. |
5279 | 5293 | ||
5294 | @pindex GNUNET_CADET_disconnect | ||
5280 | Finally, when an application no longer wants to use CADET, it should call | 5295 | Finally, when an application no longer wants to use CADET, it should call |
5281 | @code{GNUNET_CADET_disconnect}, but first all channels and pending | 5296 | @code{GNUNET_CADET_disconnect}, but first all channels and pending |
5282 | transmissions must be closed (otherwise CADET will complain). | 5297 | transmissions must be closed (otherwise CADET will complain). |
@@ -5394,7 +5409,7 @@ to all the other peers, who will calculate the estimate from it. | |||
5394 | @node Target value | 5409 | @node Target value |
5395 | @subsubsection Target value | 5410 | @subsubsection Target value |
5396 | 5411 | ||
5397 | @c %**end of header | 5412 | |
5398 | 5413 | ||
5399 | The target value itself is generated by hashing the current time, rounded | 5414 | The target value itself is generated by hashing the current time, rounded |
5400 | down to an agreed value. If the rounding amount is 1h (default) and the | 5415 | down to an agreed value. If the rounding amount is 1h (default) and the |
@@ -5404,7 +5419,7 @@ Every repetition is called a round. | |||
5404 | 5419 | ||
5405 | @node Timing | 5420 | @node Timing |
5406 | @subsubsection Timing | 5421 | @subsubsection Timing |
5407 | @c %**end of header | 5422 | |
5408 | 5423 | ||
5409 | The NSE subsystem has some timing control to avoid everybody broadcasting | 5424 | The NSE subsystem has some timing control to avoid everybody broadcasting |
5410 | its ID all at one. Once each peer has the target random value, it | 5425 | its ID all at one. Once each peer has the target random value, it |
@@ -5421,7 +5436,7 @@ peers closest to the target value start broadcasting their ID the first. | |||
5421 | @node Controlled Flooding | 5436 | @node Controlled Flooding |
5422 | @subsubsection Controlled Flooding | 5437 | @subsubsection Controlled Flooding |
5423 | 5438 | ||
5424 | @c %**end of header | 5439 | |
5425 | 5440 | ||
5426 | When a peer receives a value, first it verifies that it is closer than the | 5441 | When a peer receives a value, first it verifies that it is closer than the |
5427 | closest value it had so far, otherwise it answers the incoming message | 5442 | closest value it had so far, otherwise it answers the incoming message |
@@ -5440,7 +5455,7 @@ to the neighbors. | |||
5440 | @node Calculating the estimate | 5455 | @node Calculating the estimate |
5441 | @subsubsection Calculating the estimate | 5456 | @subsubsection Calculating the estimate |
5442 | 5457 | ||
5443 | @c %**end of header | 5458 | |
5444 | 5459 | ||
5445 | Once the closest ID has been spread across the network each peer gets the | 5460 | Once the closest ID has been spread across the network each peer gets the |
5446 | exact distance between this ID and the target value of the round and | 5461 | exact distance between this ID and the target value of the round and |
@@ -5459,7 +5474,7 @@ means a factor of two in the size estimate. | |||
5459 | @node libgnunetnse | 5474 | @node libgnunetnse |
5460 | @subsection libgnunetnse | 5475 | @subsection libgnunetnse |
5461 | 5476 | ||
5462 | @c %**end of header | 5477 | |
5463 | 5478 | ||
5464 | The NSE subsystem has the simplest API of all services, with only two | 5479 | The NSE subsystem has the simplest API of all services, with only two |
5465 | calls: @code{GNUNET_NSE_connect} and @code{GNUNET_NSE_disconnect}. | 5480 | calls: @code{GNUNET_NSE_connect} and @code{GNUNET_NSE_disconnect}. |
@@ -5485,7 +5500,7 @@ is no longer called with new estimates. | |||
5485 | @node Results | 5500 | @node Results |
5486 | @subsubsection Results | 5501 | @subsubsection Results |
5487 | 5502 | ||
5488 | @c %**end of header | 5503 | |
5489 | 5504 | ||
5490 | The callback provides two values: the average and the | 5505 | The callback provides two values: the average and the |
5491 | @uref{http://en.wikipedia.org/wiki/Standard_deviation, standard deviation} | 5506 | @uref{http://en.wikipedia.org/wiki/Standard_deviation, standard deviation} |
@@ -5523,7 +5538,7 @@ changing rapidly). | |||
5523 | @node libgnunetnse - Examples | 5538 | @node libgnunetnse - Examples |
5524 | @subsubsection libgnunetnse -Examples | 5539 | @subsubsection libgnunetnse -Examples |
5525 | 5540 | ||
5526 | @c %**end of header | 5541 | |
5527 | 5542 | ||
5528 | Let's close with a couple examples. | 5543 | Let's close with a couple examples. |
5529 | 5544 | ||
@@ -5550,7 +5565,7 @@ case a 5 sigma minimum would be 2 million and a 6 sigma minimum, | |||
5550 | @node The NSE Client-Service Protocol | 5565 | @node The NSE Client-Service Protocol |
5551 | @subsection The NSE Client-Service Protocol | 5566 | @subsection The NSE Client-Service Protocol |
5552 | 5567 | ||
5553 | @c %**end of header | 5568 | |
5554 | 5569 | ||
5555 | As with the API, the client-service protocol is very simple, only has 2 | 5570 | As with the API, the client-service protocol is very simple, only has 2 |
5556 | different messages, defined in @code{src/nse/nse.h}: | 5571 | different messages, defined in @code{src/nse/nse.h}: |
@@ -5571,8 +5586,8 @@ simply disconnects from the service, with no message involved. | |||
5571 | @node The NSE Peer-to-Peer Protocol | 5586 | @node The NSE Peer-to-Peer Protocol |
5572 | @subsection The NSE Peer-to-Peer Protocol | 5587 | @subsection The NSE Peer-to-Peer Protocol |
5573 | 5588 | ||
5574 | @c %**end of header | ||
5575 | 5589 | ||
5590 | @pindex GNUNET_MESSAGE_TYPE_NSE_P2P_FLOOD | ||
5576 | The NSE subsystem only has one message in the P2P protocol, the | 5591 | The NSE subsystem only has one message in the P2P protocol, the |
5577 | @code{GNUNET_MESSAGE_TYPE_NSE_P2P_FLOOD} message. | 5592 | @code{GNUNET_MESSAGE_TYPE_NSE_P2P_FLOOD} message. |
5578 | 5593 | ||
@@ -5626,7 +5641,7 @@ traffic spikes and minimize cross-messages. | |||
5626 | @node HOSTLIST Subsystem | 5641 | @node HOSTLIST Subsystem |
5627 | @section HOSTLIST Subsystem | 5642 | @section HOSTLIST Subsystem |
5628 | 5643 | ||
5629 | @c %**end of header | 5644 | |
5630 | 5645 | ||
5631 | Peers in the GNUnet overlay network need address information so that they | 5646 | Peers in the GNUnet overlay network need address information so that they |
5632 | can connect with other peers. GNUnet uses so called HELLO messages to | 5647 | can connect with other peers. GNUnet uses so called HELLO messages to |
@@ -5664,7 +5679,7 @@ manual effort or the use of a HOSTLIST to obtain HELLOs. | |||
5664 | @node HELLOs | 5679 | @node HELLOs |
5665 | @subsection HELLOs | 5680 | @subsection HELLOs |
5666 | 5681 | ||
5667 | @c %**end of header | 5682 | |
5668 | 5683 | ||
5669 | The basic information peers require to connect to other peers are | 5684 | The basic information peers require to connect to other peers are |
5670 | contained in so called HELLO messages you can think of as a business card. | 5685 | contained in so called HELLO messages you can think of as a business card. |
@@ -5676,7 +5691,7 @@ contact other peers. | |||
5676 | @node Overview for the HOSTLIST subsystem | 5691 | @node Overview for the HOSTLIST subsystem |
5677 | @subsection Overview for the HOSTLIST subsystem | 5692 | @subsection Overview for the HOSTLIST subsystem |
5678 | 5693 | ||
5679 | @c %**end of header | 5694 | |
5680 | 5695 | ||
5681 | The HOSTLIST subsystem provides a way to distribute and obtain contact | 5696 | The HOSTLIST subsystem provides a way to distribute and obtain contact |
5682 | information to connect to other peers using a simple HTTP GET request. | 5697 | information to connect to other peers using a simple HTTP GET request. |
@@ -5702,7 +5717,7 @@ service. | |||
5702 | @node Features | 5717 | @node Features |
5703 | @subsubsection Features | 5718 | @subsubsection Features |
5704 | 5719 | ||
5705 | @c %**end of header | 5720 | |
5706 | 5721 | ||
5707 | The HOSTLIST daemon can: | 5722 | The HOSTLIST daemon can: |
5708 | 5723 | ||
@@ -5720,7 +5735,7 @@ peers | |||
5720 | @node HOSTLIST - Limitations | 5735 | @node HOSTLIST - Limitations |
5721 | @subsubsection HOSTLIST - Limitations | 5736 | @subsubsection HOSTLIST - Limitations |
5722 | 5737 | ||
5723 | @c %**end of header | 5738 | |
5724 | 5739 | ||
5725 | The HOSTLIST daemon does not: | 5740 | The HOSTLIST daemon does not: |
5726 | 5741 | ||
@@ -5732,7 +5747,7 @@ The HOSTLIST daemon does not: | |||
5732 | @node Interacting with the HOSTLIST daemon | 5747 | @node Interacting with the HOSTLIST daemon |
5733 | @subsection Interacting with the HOSTLIST daemon | 5748 | @subsection Interacting with the HOSTLIST daemon |
5734 | 5749 | ||
5735 | @c %**end of header | 5750 | |
5736 | 5751 | ||
5737 | The HOSTLIST subsystem is currently implemented as a daemon, so there is | 5752 | The HOSTLIST subsystem is currently implemented as a daemon, so there is |
5738 | no need for the user to interact with it and therefore there is no | 5753 | no need for the user to interact with it and therefore there is no |
@@ -5760,7 +5775,7 @@ download frequency). | |||
5760 | @node Hostlist security address validation | 5775 | @node Hostlist security address validation |
5761 | @subsection Hostlist security address validation | 5776 | @subsection Hostlist security address validation |
5762 | 5777 | ||
5763 | @c %**end of header | 5778 | |
5764 | 5779 | ||
5765 | Since information obtained from other parties cannot be trusted without | 5780 | Since information obtained from other parties cannot be trusted without |
5766 | validation, we have to distinguish between @emph{validated} and | 5781 | validation, we have to distinguish between @emph{validated} and |
@@ -5781,12 +5796,13 @@ to the TRANSPORT server to validate the addresses. | |||
5781 | @node The HOSTLIST daemon | 5796 | @node The HOSTLIST daemon |
5782 | @subsection The HOSTLIST daemon | 5797 | @subsection The HOSTLIST daemon |
5783 | 5798 | ||
5784 | @c %**end of header | 5799 | |
5785 | 5800 | ||
5786 | The hostlist daemon is the main component of the HOSTLIST subsystem. It is | 5801 | The hostlist daemon is the main component of the HOSTLIST subsystem. It is |
5787 | started by the ARM service and (if configured) starts the HOSTLIST client | 5802 | started by the ARM service and (if configured) starts the HOSTLIST client |
5788 | and server components. | 5803 | and server components. |
5789 | 5804 | ||
5805 | @pindex GNUNET_MESSAGE_TYPE_HOSTLIST_ADVERTISEMENT | ||
5790 | If the daemon provides a hostlist itself it can advertise it's own | 5806 | If the daemon provides a hostlist itself it can advertise it's own |
5791 | hostlist to other peers. To do so it sends a | 5807 | hostlist to other peers. To do so it sends a |
5792 | @code{GNUNET_MESSAGE_TYPE_HOSTLIST_ADVERTISEMENT} message to other peers | 5808 | @code{GNUNET_MESSAGE_TYPE_HOSTLIST_ADVERTISEMENT} message to other peers |
@@ -5811,7 +5827,7 @@ subsystems and disconnecting from CORE. | |||
5811 | @node The HOSTLIST server | 5827 | @node The HOSTLIST server |
5812 | @subsection The HOSTLIST server | 5828 | @subsection The HOSTLIST server |
5813 | 5829 | ||
5814 | @c %**end of header | 5830 | |
5815 | 5831 | ||
5816 | The server provides a way for other peers to obtain HELLOs. Basically it | 5832 | The server provides a way for other peers to obtain HELLOs. Basically it |
5817 | is a small web server other peers can connect to and download a list of | 5833 | is a small web server other peers can connect to and download a list of |
@@ -5827,7 +5843,7 @@ to other peers connecting on CORE level. | |||
5827 | @node The HTTP Server | 5843 | @node The HTTP Server |
5828 | @subsubsection The HTTP Server | 5844 | @subsubsection The HTTP Server |
5829 | 5845 | ||
5830 | @c %**end of header | 5846 | |
5831 | 5847 | ||
5832 | During startup, the server starts a web server listening on the port | 5848 | During startup, the server starts a web server listening on the port |
5833 | specified with the HTTPPORT value (default 8080). In addition it connects | 5849 | specified with the HTTPPORT value (default 8080). In addition it connects |
@@ -5853,7 +5869,7 @@ The connection will be closed immediately if no hostlist is available. | |||
5853 | @node Advertising the URL | 5869 | @node Advertising the URL |
5854 | @subsubsection Advertising the URL | 5870 | @subsubsection Advertising the URL |
5855 | 5871 | ||
5856 | @c %**end of header | 5872 | |
5857 | 5873 | ||
5858 | The server also advertises the URL to download the hostlist to other peers | 5874 | The server also advertises the URL to download the hostlist to other peers |
5859 | if hostlist advertisement is enabled. | 5875 | if hostlist advertisement is enabled. |
@@ -5865,7 +5881,7 @@ peer using the CORE service. | |||
5865 | @node The HOSTLIST client | 5881 | @node The HOSTLIST client |
5866 | @subsection The HOSTLIST client | 5882 | @subsection The HOSTLIST client |
5867 | 5883 | ||
5868 | @c %**end of header | 5884 | |
5869 | 5885 | ||
5870 | The client provides the functionality to download the list of HELLOs from | 5886 | The client provides the functionality to download the list of HELLOs from |
5871 | a set of URLs. | 5887 | a set of URLs. |
@@ -5889,7 +5905,7 @@ The client supports two modes of operation: | |||
5889 | @node Bootstrapping | 5905 | @node Bootstrapping |
5890 | @subsubsection Bootstrapping | 5906 | @subsubsection Bootstrapping |
5891 | 5907 | ||
5892 | @c %**end of header | 5908 | |
5893 | 5909 | ||
5894 | For bootstrapping, it schedules a task to download the hostlist from the | 5910 | For bootstrapping, it schedules a task to download the hostlist from the |
5895 | set of known URLs. | 5911 | set of known URLs. |
@@ -5918,7 +5934,7 @@ quality of this URL is updated. | |||
5918 | @node Learning | 5934 | @node Learning |
5919 | @subsubsection Learning | 5935 | @subsubsection Learning |
5920 | 5936 | ||
5921 | @c %**end of header | 5937 | |
5922 | 5938 | ||
5923 | The client also manages hostlist advertisements from other peers. The | 5939 | The client also manages hostlist advertisements from other peers. The |
5924 | HOSTLIST daemon forwards @code{GNUNET_MESSAGE_TYPE_HOSTLIST_ADVERTISEMENT} | 5940 | HOSTLIST daemon forwards @code{GNUNET_MESSAGE_TYPE_HOSTLIST_ADVERTISEMENT} |
@@ -5937,7 +5953,7 @@ never discarded. | |||
5937 | @node Usage | 5953 | @node Usage |
5938 | @subsection Usage | 5954 | @subsection Usage |
5939 | 5955 | ||
5940 | @c %**end of header | 5956 | |
5941 | 5957 | ||
5942 | To start HOSTLIST by default, it has to be added to the DEFAULTSERVICES | 5958 | To start HOSTLIST by default, it has to be added to the DEFAULTSERVICES |
5943 | section for the ARM services. This is done in the default configuration. | 5959 | section for the ARM services. This is done in the default configuration. |
@@ -5951,7 +5967,7 @@ Configuring your peer to provide a hostlist | |||
5951 | @node IDENTITY Subsystem | 5967 | @node IDENTITY Subsystem |
5952 | @section IDENTITY Subsystem | 5968 | @section IDENTITY Subsystem |
5953 | 5969 | ||
5954 | @c %**end of header | 5970 | |
5955 | 5971 | ||
5956 | Identities of "users" in GNUnet are called egos. | 5972 | Identities of "users" in GNUnet are called egos. |
5957 | Egos can be used as pseudonyms ("fake names") or be tied to an | 5973 | Egos can be used as pseudonyms ("fake names") or be tied to an |
@@ -6007,7 +6023,7 @@ between anonymous and pseudonymous egos. | |||
6007 | @cindex libgnunetidentity | 6023 | @cindex libgnunetidentity |
6008 | @node libgnunetidentity | 6024 | @node libgnunetidentity |
6009 | @subsection libgnunetidentity | 6025 | @subsection libgnunetidentity |
6010 | @c %**end of header | 6026 | |
6011 | 6027 | ||
6012 | 6028 | ||
6013 | @menu | 6029 | @menu |
@@ -6021,7 +6037,7 @@ between anonymous and pseudonymous egos. | |||
6021 | @node Connecting to the service | 6037 | @node Connecting to the service |
6022 | @subsubsection Connecting to the service | 6038 | @subsubsection Connecting to the service |
6023 | 6039 | ||
6024 | @c %**end of header | 6040 | |
6025 | 6041 | ||
6026 | First, typical clients connect to the identity service using | 6042 | First, typical clients connect to the identity service using |
6027 | @code{GNUNET_IDENTITY_connect}. This function takes a callback as a | 6043 | @code{GNUNET_IDENTITY_connect}. This function takes a callback as a |
@@ -6057,7 +6073,7 @@ ego's handle. | |||
6057 | @node Operations on Egos | 6073 | @node Operations on Egos |
6058 | @subsubsection Operations on Egos | 6074 | @subsubsection Operations on Egos |
6059 | 6075 | ||
6060 | @c %**end of header | 6076 | |
6061 | 6077 | ||
6062 | Given an ego handle, the main operations are to get its associated private | 6078 | Given an ego handle, the main operations are to get its associated private |
6063 | key using @code{GNUNET_IDENTITY_ego_get_private_key} or its associated | 6079 | key using @code{GNUNET_IDENTITY_ego_get_private_key} or its associated |
@@ -6080,7 +6096,7 @@ only the continuation will no longer be called. | |||
6080 | @node The anonymous Ego | 6096 | @node The anonymous Ego |
6081 | @subsubsection The anonymous Ego | 6097 | @subsubsection The anonymous Ego |
6082 | 6098 | ||
6083 | @c %**end of header | 6099 | |
6084 | 6100 | ||
6085 | A special way to obtain an ego handle is to call | 6101 | A special way to obtain an ego handle is to call |
6086 | @code{GNUNET_IDENTITY_ego_get_anonymous}, which returns an ego for the | 6102 | @code{GNUNET_IDENTITY_ego_get_anonymous}, which returns an ego for the |
@@ -6115,7 +6131,7 @@ using @code{GNUNET_IDENTITY_get}. | |||
6115 | @node The IDENTITY Client-Service Protocol | 6131 | @node The IDENTITY Client-Service Protocol |
6116 | @subsection The IDENTITY Client-Service Protocol | 6132 | @subsection The IDENTITY Client-Service Protocol |
6117 | 6133 | ||
6118 | @c %**end of header | 6134 | |
6119 | 6135 | ||
6120 | A client connecting to the identity service first sends a message with | 6136 | A client connecting to the identity service first sends a message with |
6121 | type | 6137 | type |
@@ -6206,7 +6222,7 @@ private key.} | |||
6206 | @node Editing Zone Information | 6222 | @node Editing Zone Information |
6207 | @subsubsection Editing Zone Information | 6223 | @subsubsection Editing Zone Information |
6208 | 6224 | ||
6209 | @c %**end of header | 6225 | |
6210 | 6226 | ||
6211 | NAMESTORE provides functions to lookup records stored under a label in a | 6227 | NAMESTORE provides functions to lookup records stored under a label in a |
6212 | zone and to store records under a label in a zone. | 6228 | zone and to store records under a label in a zone. |
@@ -6246,7 +6262,7 @@ the operation. | |||
6246 | @node Iterating Zone Information | 6262 | @node Iterating Zone Information |
6247 | @subsubsection Iterating Zone Information | 6263 | @subsubsection Iterating Zone Information |
6248 | 6264 | ||
6249 | @c %**end of header | 6265 | |
6250 | 6266 | ||
6251 | A client can iterate over all information in a zone or all zones managed | 6267 | A client can iterate over all information in a zone or all zones managed |
6252 | by NAMESTORE. | 6268 | by NAMESTORE. |
@@ -6266,7 +6282,7 @@ NULL value to indicate. | |||
6266 | @node Monitoring Zone Information | 6282 | @node Monitoring Zone Information |
6267 | @subsubsection Monitoring Zone Information | 6283 | @subsubsection Monitoring Zone Information |
6268 | 6284 | ||
6269 | @c %**end of header | 6285 | |
6270 | 6286 | ||
6271 | Clients can also monitor zones to be notified about changes. Here the | 6287 | Clients can also monitor zones to be notified about changes. Here the |
6272 | clients uses the @code{GNUNET_NAMESTORE_zone_monitor_start} function and | 6288 | clients uses the @code{GNUNET_NAMESTORE_zone_monitor_start} function and |
@@ -6287,7 +6303,7 @@ from the function to start the monitoring. | |||
6287 | @node PEERINFO Subsystem | 6303 | @node PEERINFO Subsystem |
6288 | @section PEERINFO Subsystem | 6304 | @section PEERINFO Subsystem |
6289 | 6305 | ||
6290 | @c %**end of header | 6306 | |
6291 | 6307 | ||
6292 | The PEERINFO subsystem is used to store verified (validated) information | 6308 | The PEERINFO subsystem is used to store verified (validated) information |
6293 | about known peers in a persistent way. It obtains these addresses for | 6309 | about known peers in a persistent way. It obtains these addresses for |
@@ -6320,7 +6336,7 @@ service providing this functionality. | |||
6320 | @node PEERINFO - Features | 6336 | @node PEERINFO - Features |
6321 | @subsection PEERINFO - Features | 6337 | @subsection PEERINFO - Features |
6322 | 6338 | ||
6323 | @c %**end of header | 6339 | |
6324 | 6340 | ||
6325 | @itemize @bullet | 6341 | @itemize @bullet |
6326 | @item Persistent storage | 6342 | @item Persistent storage |
@@ -6340,7 +6356,7 @@ service providing this functionality. | |||
6340 | @node DeveloperPeer Information | 6356 | @node DeveloperPeer Information |
6341 | @subsection DeveloperPeer Information | 6357 | @subsection DeveloperPeer Information |
6342 | 6358 | ||
6343 | @c %**end of header | 6359 | |
6344 | 6360 | ||
6345 | The PEERINFO subsystem stores these information in the form of HELLO | 6361 | The PEERINFO subsystem stores these information in the form of HELLO |
6346 | messages you can think of as business cards. | 6362 | messages you can think of as business cards. |
@@ -6374,7 +6390,7 @@ subsystem using these information to maintain connections to other peers. | |||
6374 | @node Startup | 6390 | @node Startup |
6375 | @subsection Startup | 6391 | @subsection Startup |
6376 | 6392 | ||
6377 | @c %**end of header | 6393 | |
6378 | 6394 | ||
6379 | During startup the PEERINFO services loads persistent HELLOs from disk. | 6395 | During startup the PEERINFO services loads persistent HELLOs from disk. |
6380 | First PEERINFO parses the directory configured in the HOSTS value of the | 6396 | First PEERINFO parses the directory configured in the HOSTS value of the |
@@ -6390,7 +6406,7 @@ The use of these HELLOs can be prevented by setting the | |||
6390 | @node Managing Information | 6406 | @node Managing Information |
6391 | @subsection Managing Information | 6407 | @subsection Managing Information |
6392 | 6408 | ||
6393 | @c %**end of header | 6409 | |
6394 | 6410 | ||
6395 | The PEERINFO services stores information about known PEERS and a single | 6411 | The PEERINFO services stores information about known PEERS and a single |
6396 | HELLO message for every peer. | 6412 | HELLO message for every peer. |
@@ -6412,7 +6428,7 @@ from the disk. | |||
6412 | @node Obtaining Information | 6428 | @node Obtaining Information |
6413 | @subsection Obtaining Information | 6429 | @subsection Obtaining Information |
6414 | 6430 | ||
6415 | @c %**end of header | 6431 | |
6416 | 6432 | ||
6417 | When a client requests information from PEERINFO, PEERINFO performs a | 6433 | When a client requests information from PEERINFO, PEERINFO performs a |
6418 | lookup for the respective peer or all peers if desired and transmits this | 6434 | lookup for the respective peer or all peers if desired and transmits this |
@@ -6429,7 +6445,7 @@ merge for example) or a new peer was added. | |||
6429 | @node The PEERINFO Client-Service Protocol | 6445 | @node The PEERINFO Client-Service Protocol |
6430 | @subsection The PEERINFO Client-Service Protocol | 6446 | @subsection The PEERINFO Client-Service Protocol |
6431 | 6447 | ||
6432 | @c %**end of header | 6448 | |
6433 | 6449 | ||
6434 | To connect and disconnect to and from the PEERINFO Service PEERINFO | 6450 | To connect and disconnect to and from the PEERINFO Service PEERINFO |
6435 | utilizes the util client/server infrastructure, so no special messages | 6451 | utilizes the util client/server infrastructure, so no special messages |
@@ -6461,7 +6477,7 @@ message, it can proceed with the next request if any is pending. | |||
6461 | @node libgnunetpeerinfo | 6477 | @node libgnunetpeerinfo |
6462 | @subsection libgnunetpeerinfo | 6478 | @subsection libgnunetpeerinfo |
6463 | 6479 | ||
6464 | @c %**end of header | 6480 | |
6465 | 6481 | ||
6466 | The PEERINFO API consists mainly of three different functionalities: | 6482 | The PEERINFO API consists mainly of three different functionalities: |
6467 | 6483 | ||
@@ -6480,7 +6496,7 @@ The PEERINFO API consists mainly of three different functionalities: | |||
6480 | @node Connecting to the PEERINFO Service | 6496 | @node Connecting to the PEERINFO Service |
6481 | @subsubsection Connecting to the PEERINFO Service | 6497 | @subsubsection Connecting to the PEERINFO Service |
6482 | 6498 | ||
6483 | @c %**end of header | 6499 | |
6484 | 6500 | ||
6485 | To connect to the PEERINFO service the function | 6501 | To connect to the PEERINFO service the function |
6486 | @code{GNUNET_PEERINFO_connect} is used, taking a configuration handle as | 6502 | @code{GNUNET_PEERINFO_connect} is used, taking a configuration handle as |
@@ -6491,7 +6507,7 @@ handle returned from the connect function has to be called. | |||
6491 | @node Adding Information to the PEERINFO Service | 6507 | @node Adding Information to the PEERINFO Service |
6492 | @subsubsection Adding Information to the PEERINFO Service | 6508 | @subsubsection Adding Information to the PEERINFO Service |
6493 | 6509 | ||
6494 | @c %**end of header | 6510 | |
6495 | 6511 | ||
6496 | @code{GNUNET_PEERINFO_add_peer} adds a new peer to the PEERINFO subsystem | 6512 | @code{GNUNET_PEERINFO_add_peer} adds a new peer to the PEERINFO subsystem |
6497 | storage. This function takes the PEERINFO handle as an argument, the HELLO | 6513 | storage. This function takes the PEERINFO handle as an argument, the HELLO |
@@ -6506,7 +6522,7 @@ can tell PEERINFO to notify if new peer information are available. | |||
6506 | @node Obtaining Information from the PEERINFO Service | 6522 | @node Obtaining Information from the PEERINFO Service |
6507 | @subsubsection Obtaining Information from the PEERINFO Service | 6523 | @subsubsection Obtaining Information from the PEERINFO Service |
6508 | 6524 | ||
6509 | @c %**end of header | 6525 | |
6510 | 6526 | ||
6511 | To iterate over information in PEERINFO you use | 6527 | To iterate over information in PEERINFO you use |
6512 | @code{GNUNET_PEERINFO_iterate}. | 6528 | @code{GNUNET_PEERINFO_iterate}. |
@@ -6531,7 +6547,7 @@ with @code{GNUNET_PEERINFO_notify_cancel}. | |||
6531 | @node PEERSTORE Subsystem | 6547 | @node PEERSTORE Subsystem |
6532 | @section PEERSTORE Subsystem | 6548 | @section PEERSTORE Subsystem |
6533 | 6549 | ||
6534 | @c %**end of header | 6550 | |
6535 | 6551 | ||
6536 | GNUnet's PEERSTORE subsystem offers persistent per-peer storage for other | 6552 | GNUnet's PEERSTORE subsystem offers persistent per-peer storage for other |
6537 | GNUnet subsystems. GNUnet subsystems can use PEERSTORE to persistently | 6553 | GNUnet subsystems. GNUnet subsystems can use PEERSTORE to persistently |
@@ -6555,7 +6571,7 @@ Each data record stored with PEERSTORE contains the following fields: | |||
6555 | @node Functionality | 6571 | @node Functionality |
6556 | @subsection Functionality | 6572 | @subsection Functionality |
6557 | 6573 | ||
6558 | @c %**end of header | 6574 | |
6559 | 6575 | ||
6560 | Subsystems can store any type of value under a (subsystem, peerid, key) | 6576 | Subsystems can store any type of value under a (subsystem, peerid, key) |
6561 | combination. A "replace" flag set during store operations forces the | 6577 | combination. A "replace" flag set during store operations forces the |
@@ -6581,7 +6597,7 @@ request to PEERSTORE. | |||
6581 | @node Architecture | 6597 | @node Architecture |
6582 | @subsection Architecture | 6598 | @subsection Architecture |
6583 | 6599 | ||
6584 | @c %**end of header | 6600 | |
6585 | 6601 | ||
6586 | PEERSTORE implements the following components: | 6602 | PEERSTORE implements the following components: |
6587 | 6603 | ||
@@ -6597,7 +6613,7 @@ only an "sqlite" plugin is implemented. | |||
6597 | @node libgnunetpeerstore | 6613 | @node libgnunetpeerstore |
6598 | @subsection libgnunetpeerstore | 6614 | @subsection libgnunetpeerstore |
6599 | 6615 | ||
6600 | @c %**end of header | 6616 | |
6601 | 6617 | ||
6602 | libgnunetpeerstore is the library containing the PEERSTORE API. Subsystems | 6618 | libgnunetpeerstore is the library containing the PEERSTORE API. Subsystems |
6603 | wishing to communicate with the PEERSTORE service use this API to open a | 6619 | wishing to communicate with the PEERSTORE service use this API to open a |
@@ -6645,7 +6661,7 @@ destroyed as well. | |||
6645 | @node SET Subsystem | 6661 | @node SET Subsystem |
6646 | @section SET Subsystem | 6662 | @section SET Subsystem |
6647 | 6663 | ||
6648 | @c %**end of header | 6664 | |
6649 | 6665 | ||
6650 | The SET service implements efficient set operations between two peers | 6666 | The SET service implements efficient set operations between two peers |
6651 | over a mesh tunnel. | 6667 | over a mesh tunnel. |
@@ -6668,7 +6684,7 @@ The size of an element's data is limited to around 62 KB. | |||
6668 | @node Local Sets | 6684 | @node Local Sets |
6669 | @subsection Local Sets | 6685 | @subsection Local Sets |
6670 | 6686 | ||
6671 | @c %**end of header | 6687 | |
6672 | 6688 | ||
6673 | Sets created by a local client can be modified and reused for multiple | 6689 | Sets created by a local client can be modified and reused for multiple |
6674 | operations. As each set operation requires potentially expensive special | 6690 | operations. As each set operation requires potentially expensive special |
@@ -6682,7 +6698,7 @@ type. | |||
6682 | @node Set Modifications | 6698 | @node Set Modifications |
6683 | @subsection Set Modifications | 6699 | @subsection Set Modifications |
6684 | 6700 | ||
6685 | @c %**end of header | 6701 | |
6686 | 6702 | ||
6687 | Even when set operations are active, one can add to and remove elements | 6703 | Even when set operations are active, one can add to and remove elements |
6688 | from a set. | 6704 | from a set. |
@@ -6695,7 +6711,7 @@ attaching @emph{generation information} to each element and operation. | |||
6695 | @node Set Operations | 6711 | @node Set Operations |
6696 | @subsection Set Operations | 6712 | @subsection Set Operations |
6697 | 6713 | ||
6698 | @c %**end of header | 6714 | |
6699 | 6715 | ||
6700 | Set operations can be started in two ways: Either by accepting an | 6716 | Set operations can be started in two ways: Either by accepting an |
6701 | operation request from a remote peer, or by requesting a set operation | 6717 | operation request from a remote peer, or by requesting a set operation |
@@ -6712,7 +6728,7 @@ request (providing a local set for the operation) or reject it. | |||
6712 | @node Result Elements | 6728 | @node Result Elements |
6713 | @subsection Result Elements | 6729 | @subsection Result Elements |
6714 | 6730 | ||
6715 | @c %**end of header | 6731 | |
6716 | 6732 | ||
6717 | The SET service has three @emph{result modes} that determine how an | 6733 | The SET service has three @emph{result modes} that determine how an |
6718 | operation's result set is delivered to the client: | 6734 | operation's result set is delivered to the client: |
@@ -6737,7 +6753,7 @@ actually interested in the result of the set operation. | |||
6737 | @node libgnunetset | 6753 | @node libgnunetset |
6738 | @subsection libgnunetset | 6754 | @subsection libgnunetset |
6739 | 6755 | ||
6740 | @c %**end of header | 6756 | |
6741 | 6757 | ||
6742 | @menu | 6758 | @menu |
6743 | * Sets:: | 6759 | * Sets:: |
@@ -6750,7 +6766,7 @@ actually interested in the result of the set operation. | |||
6750 | @node Sets | 6766 | @node Sets |
6751 | @subsubsection Sets | 6767 | @subsubsection Sets |
6752 | 6768 | ||
6753 | @c %**end of header | 6769 | |
6754 | 6770 | ||
6755 | New sets are created with @code{GNUNET_SET_create}. Both the local peer's | 6771 | New sets are created with @code{GNUNET_SET_create}. Both the local peer's |
6756 | configuration (as each set has its own client connection) and the | 6772 | configuration (as each set has its own client connection) and the |
@@ -6766,7 +6782,7 @@ Elements are added and removed with @code{GNUNET_SET_add_element} and | |||
6766 | @node Listeners | 6782 | @node Listeners |
6767 | @subsubsection Listeners | 6783 | @subsubsection Listeners |
6768 | 6784 | ||
6769 | @c %**end of header | 6785 | |
6770 | 6786 | ||
6771 | Listeners are created with @code{GNUNET_SET_listen}. Each time time a | 6787 | Listeners are created with @code{GNUNET_SET_listen}. Each time time a |
6772 | remote peer suggests a set operation with an application id and operation | 6788 | remote peer suggests a set operation with an application id and operation |
@@ -6779,7 +6795,7 @@ until the client calls @code{GNUNET_SET_commit} | |||
6779 | @node Operations | 6795 | @node Operations |
6780 | @subsubsection Operations | 6796 | @subsubsection Operations |
6781 | 6797 | ||
6782 | @c %**end of header | 6798 | |
6783 | 6799 | ||
6784 | Operations to be initiated by the local peer are created with | 6800 | Operations to be initiated by the local peer are created with |
6785 | @code{GNUNET_SET_prepare}. Note that the operation will not be started | 6801 | @code{GNUNET_SET_prepare}. Note that the operation will not be started |
@@ -6789,7 +6805,7 @@ until the client calls @code{GNUNET_SET_commit} | |||
6789 | @node Supplying a Set | 6805 | @node Supplying a Set |
6790 | @subsubsection Supplying a Set | 6806 | @subsubsection Supplying a Set |
6791 | 6807 | ||
6792 | @c %**end of header | 6808 | |
6793 | 6809 | ||
6794 | To create symmetry between the two ways of starting a set operation | 6810 | To create symmetry between the two ways of starting a set operation |
6795 | (accepting and initiating it), the operation handles returned by | 6811 | (accepting and initiating it), the operation handles returned by |
@@ -6803,7 +6819,7 @@ operation. | |||
6803 | @node The Result Callback | 6819 | @node The Result Callback |
6804 | @subsubsection The Result Callback | 6820 | @subsubsection The Result Callback |
6805 | 6821 | ||
6806 | @c %**end of header | 6822 | |
6807 | 6823 | ||
6808 | Clients must specify both a result mode and a result callback with | 6824 | Clients must specify both a result mode and a result callback with |
6809 | @code{GNUNET_SET_accept} and @code{GNUNET_SET_prepare}. The result | 6825 | @code{GNUNET_SET_accept} and @code{GNUNET_SET_prepare}. The result |
@@ -6817,7 +6833,7 @@ or if it is in the difference between the original set and the final set. | |||
6817 | @node The SET Client-Service Protocol | 6833 | @node The SET Client-Service Protocol |
6818 | @subsection The SET Client-Service Protocol | 6834 | @subsection The SET Client-Service Protocol |
6819 | 6835 | ||
6820 | @c %**end of header | 6836 | |
6821 | 6837 | ||
6822 | @menu | 6838 | @menu |
6823 | * Creating Sets:: | 6839 | * Creating Sets:: |
@@ -6831,7 +6847,7 @@ or if it is in the difference between the original set and the final set. | |||
6831 | @node Creating Sets | 6847 | @node Creating Sets |
6832 | @subsubsection Creating Sets | 6848 | @subsubsection Creating Sets |
6833 | 6849 | ||
6834 | @c %**end of header | 6850 | |
6835 | 6851 | ||
6836 | For each set of a client, there exists a client connection to the service. | 6852 | For each set of a client, there exists a client connection to the service. |
6837 | Sets are created by sending the @code{GNUNET_SERVICE_SET_CREATE} message | 6853 | Sets are created by sending the @code{GNUNET_SERVICE_SET_CREATE} message |
@@ -6842,7 +6858,7 @@ the client. | |||
6842 | @node Listeners2 | 6858 | @node Listeners2 |
6843 | @subsubsection Listeners2 | 6859 | @subsubsection Listeners2 |
6844 | 6860 | ||
6845 | @c %**end of header | 6861 | |
6846 | 6862 | ||
6847 | Each listener also requires a seperate client connection. By sending the | 6863 | Each listener also requires a seperate client connection. By sending the |
6848 | @code{GNUNET_SERVICE_SET_LISTEN} message, the client notifies the service | 6864 | @code{GNUNET_SERVICE_SET_LISTEN} message, the client notifies the service |
@@ -6856,7 +6872,7 @@ is supplied for the set operation. | |||
6856 | @node Initiating Operations | 6872 | @node Initiating Operations |
6857 | @subsubsection Initiating Operations | 6873 | @subsubsection Initiating Operations |
6858 | 6874 | ||
6859 | @c %**end of header | 6875 | |
6860 | 6876 | ||
6861 | Operations with remote peers are initiated by sending a | 6877 | Operations with remote peers are initiated by sending a |
6862 | @code{GNUNET_SERVICE_SET_EVALUATE} message to the service. The@ client | 6878 | @code{GNUNET_SERVICE_SET_EVALUATE} message to the service. The@ client |
@@ -6865,7 +6881,7 @@ connection that this message is sent by determines the set to use. | |||
6865 | @node Modifying Sets | 6881 | @node Modifying Sets |
6866 | @subsubsection Modifying Sets | 6882 | @subsubsection Modifying Sets |
6867 | 6883 | ||
6868 | @c %**end of header | 6884 | |
6869 | 6885 | ||
6870 | Sets are modified with the @code{GNUNET_SERVICE_SET_ADD} and | 6886 | Sets are modified with the @code{GNUNET_SERVICE_SET_ADD} and |
6871 | @code{GNUNET_SERVICE_SET_REMOVE} messages. | 6887 | @code{GNUNET_SERVICE_SET_REMOVE} messages. |
@@ -6878,7 +6894,7 @@ Sets are modified with the @code{GNUNET_SERVICE_SET_ADD} and | |||
6878 | 6894 | ||
6879 | @node Results and Operation Status | 6895 | @node Results and Operation Status |
6880 | @subsubsection Results and Operation Status | 6896 | @subsubsection Results and Operation Status |
6881 | @c %**end of header | 6897 | |
6882 | 6898 | ||
6883 | The service notifies the client of result elements and success/failure of | 6899 | The service notifies the client of result elements and success/failure of |
6884 | a set operation with the @code{GNUNET_SERVICE_SET_RESULT} message. | 6900 | a set operation with the @code{GNUNET_SERVICE_SET_RESULT} message. |
@@ -6886,7 +6902,7 @@ a set operation with the @code{GNUNET_SERVICE_SET_RESULT} message. | |||
6886 | @node Iterating Sets | 6902 | @node Iterating Sets |
6887 | @subsubsection Iterating Sets | 6903 | @subsubsection Iterating Sets |
6888 | 6904 | ||
6889 | @c %**end of header | 6905 | |
6890 | 6906 | ||
6891 | All elements of a set can be requested by sending | 6907 | All elements of a set can be requested by sending |
6892 | @code{GNUNET_SERVICE_SET_ITER_REQUEST}. The server responds with | 6908 | @code{GNUNET_SERVICE_SET_ITER_REQUEST}. The server responds with |
@@ -6899,7 +6915,7 @@ iteration may be active for a set at any given time. | |||
6899 | @node The SET Intersection Peer-to-Peer Protocol | 6915 | @node The SET Intersection Peer-to-Peer Protocol |
6900 | @subsection The SET Intersection Peer-to-Peer Protocol | 6916 | @subsection The SET Intersection Peer-to-Peer Protocol |
6901 | 6917 | ||
6902 | @c %**end of header | 6918 | |
6903 | 6919 | ||
6904 | The intersection protocol operates over CADET and starts with a | 6920 | The intersection protocol operates over CADET and starts with a |
6905 | GNUNET_MESSAGE_TYPE_SET_P2P_OPERATION_REQUEST being sent by the peer | 6921 | GNUNET_MESSAGE_TYPE_SET_P2P_OPERATION_REQUEST being sent by the peer |
@@ -6931,7 +6947,7 @@ just the initial handshake. | |||
6931 | @node The Bloom filter exchange | 6947 | @node The Bloom filter exchange |
6932 | @subsubsection The Bloom filter exchange | 6948 | @subsubsection The Bloom filter exchange |
6933 | 6949 | ||
6934 | @c %**end of header | 6950 | |
6935 | 6951 | ||
6936 | In this phase, each peer transmits a Bloom filter over the remaining | 6952 | In this phase, each peer transmits a Bloom filter over the remaining |
6937 | keys of the local set to the other peer using a | 6953 | keys of the local set to the other peer using a |
@@ -6958,7 +6974,7 @@ this time as the sender. | |||
6958 | @node Salt | 6974 | @node Salt |
6959 | @subsubsection Salt | 6975 | @subsubsection Salt |
6960 | 6976 | ||
6961 | @c %**end of header | 6977 | |
6962 | 6978 | ||
6963 | Bloomfilter operations are probabilistic: With some non-zero probability | 6979 | Bloomfilter operations are probabilistic: With some non-zero probability |
6964 | the test may incorrectly say an element is in the set, even though it is | 6980 | the test may incorrectly say an element is in the set, even though it is |
@@ -6978,7 +6994,7 @@ sets of the same size, and where the XOR over all keys computes the same | |||
6978 | @node The SET Union Peer-to-Peer Protocol | 6994 | @node The SET Union Peer-to-Peer Protocol |
6979 | @subsection The SET Union Peer-to-Peer Protocol | 6995 | @subsection The SET Union Peer-to-Peer Protocol |
6980 | 6996 | ||
6981 | @c %**end of header | 6997 | |
6982 | 6998 | ||
6983 | The SET union protocol is based on Eppstein's efficient set reconciliation | 6999 | The SET union protocol is based on Eppstein's efficient set reconciliation |
6984 | without prior context. You should read this paper first if you want to | 7000 | without prior context. You should read this paper first if you want to |
@@ -7021,7 +7037,7 @@ succeeding if they failed due to collisions before. | |||
7021 | @node STATISTICS Subsystem | 7037 | @node STATISTICS Subsystem |
7022 | @section STATISTICS Subsystem | 7038 | @section STATISTICS Subsystem |
7023 | 7039 | ||
7024 | @c %**end of header | 7040 | |
7025 | 7041 | ||
7026 | In GNUnet, the STATISTICS subsystem offers a central place for all | 7042 | In GNUnet, the STATISTICS subsystem offers a central place for all |
7027 | subsystems to publish unsigned 64-bit integer run-time statistics. | 7043 | subsystems to publish unsigned 64-bit integer run-time statistics. |
@@ -7073,7 +7089,7 @@ to STATISTICS during shutdown. | |||
7073 | @node libgnunetstatistics | 7089 | @node libgnunetstatistics |
7074 | @subsection libgnunetstatistics | 7090 | @subsection libgnunetstatistics |
7075 | 7091 | ||
7076 | @c %**end of header | 7092 | |
7077 | 7093 | ||
7078 | @strong{libgnunetstatistics} is the library containing the API for the | 7094 | @strong{libgnunetstatistics} is the library containing the API for the |
7079 | STATISTICS subsystem. Any process requiring to use STATISTICS should use | 7095 | STATISTICS subsystem. Any process requiring to use STATISTICS should use |
@@ -7104,7 +7120,7 @@ functions from the API can be used. | |||
7104 | @node Statistics retrieval | 7120 | @node Statistics retrieval |
7105 | @subsubsection Statistics retrieval | 7121 | @subsubsection Statistics retrieval |
7106 | 7122 | ||
7107 | @c %**end of header | 7123 | |
7108 | 7124 | ||
7109 | Once a connection to the statistics service is obtained, information | 7125 | Once a connection to the statistics service is obtained, information |
7110 | about any other system which uses statistics can be retrieved with the | 7126 | about any other system which uses statistics can be retrieved with the |
@@ -7127,7 +7143,7 @@ when we want to shutdown and cleanup everything. | |||
7127 | @node Setting statistics and updating them | 7143 | @node Setting statistics and updating them |
7128 | @subsubsection Setting statistics and updating them | 7144 | @subsubsection Setting statistics and updating them |
7129 | 7145 | ||
7130 | @c %**end of header | 7146 | |
7131 | 7147 | ||
7132 | So far we have seen how to retrieve statistics, here we will learn how we | 7148 | So far we have seen how to retrieve statistics, here we will learn how we |
7133 | can set statistics and update them so that other subsystems can retrieve | 7149 | can set statistics and update them so that other subsystems can retrieve |
@@ -7157,7 +7173,7 @@ to worry about sending requests too quickly. | |||
7157 | @node Watches | 7173 | @node Watches |
7158 | @subsubsection Watches | 7174 | @subsubsection Watches |
7159 | 7175 | ||
7160 | @c %**end of header | 7176 | |
7161 | 7177 | ||
7162 | As interesting feature of STATISTICS lies in serving notifications | 7178 | As interesting feature of STATISTICS lies in serving notifications |
7163 | whenever a statistic of our interest is modified. | 7179 | whenever a statistic of our interest is modified. |
@@ -7177,7 +7193,7 @@ parameters that are used for registering the watch. | |||
7177 | 7193 | ||
7178 | @node The STATISTICS Client-Service Protocol | 7194 | @node The STATISTICS Client-Service Protocol |
7179 | @subsection The STATISTICS Client-Service Protocol | 7195 | @subsection The STATISTICS Client-Service Protocol |
7180 | @c %**end of header | 7196 | |
7181 | 7197 | ||
7182 | 7198 | ||
7183 | @menu | 7199 | @menu |
@@ -7189,7 +7205,7 @@ parameters that are used for registering the watch. | |||
7189 | @node Statistics retrieval2 | 7205 | @node Statistics retrieval2 |
7190 | @subsubsection Statistics retrieval2 | 7206 | @subsubsection Statistics retrieval2 |
7191 | 7207 | ||
7192 | @c %**end of header | 7208 | |
7193 | 7209 | ||
7194 | To retrieve statistics, the client transmits a message of type | 7210 | To retrieve statistics, the client transmits a message of type |
7195 | @code{GNUNET_MESSAGE_TYPE_STATISTICS_GET} containing the given subsystem | 7211 | @code{GNUNET_MESSAGE_TYPE_STATISTICS_GET} containing the given subsystem |
@@ -7203,7 +7219,7 @@ type @code{GNUNET_MESSAGE_TYPE_STATISTICS_END}. | |||
7203 | @node Setting and updating statistics | 7219 | @node Setting and updating statistics |
7204 | @subsubsection Setting and updating statistics | 7220 | @subsubsection Setting and updating statistics |
7205 | 7221 | ||
7206 | @c %**end of header | 7222 | |
7207 | 7223 | ||
7208 | The subsystem name, parameter name, its value and the persistence flag are | 7224 | The subsystem name, parameter name, its value and the persistence flag are |
7209 | communicated to the service through the message | 7225 | communicated to the service through the message |
@@ -7226,7 +7242,7 @@ the message should be treated as an update value. | |||
7226 | @node Watching for updates | 7242 | @node Watching for updates |
7227 | @subsubsection Watching for updates | 7243 | @subsubsection Watching for updates |
7228 | 7244 | ||
7229 | @c %**end of header | 7245 | |
7230 | 7246 | ||
7231 | The function registers the watch at the service by sending a message of | 7247 | The function registers the watch at the service by sending a message of |
7232 | type @code{GNUNET_MESSAGE_TYPE_STATISTICS_WATCH}. The service then sends | 7248 | type @code{GNUNET_MESSAGE_TYPE_STATISTICS_WATCH}. The service then sends |
@@ -7239,7 +7255,7 @@ parameter's value is changed. | |||
7239 | @node Distributed Hash Table (DHT) | 7255 | @node Distributed Hash Table (DHT) |
7240 | @section Distributed Hash Table (DHT) | 7256 | @section Distributed Hash Table (DHT) |
7241 | 7257 | ||
7242 | @c %**end of header | 7258 | |
7243 | 7259 | ||
7244 | GNUnet includes a generic distributed hash table that can be used by | 7260 | GNUnet includes a generic distributed hash table that can be used by |
7245 | developers building P2P applications in the framework. | 7261 | developers building P2P applications in the framework. |
@@ -7285,7 +7301,7 @@ loss of performance or quality of service is expected in this case). | |||
7285 | @node Block library and plugins | 7301 | @node Block library and plugins |
7286 | @subsection Block library and plugins | 7302 | @subsection Block library and plugins |
7287 | 7303 | ||
7288 | @c %**end of header | 7304 | |
7289 | 7305 | ||
7290 | @menu | 7306 | @menu |
7291 | * What is a Block?:: | 7307 | * What is a Block?:: |
@@ -7298,7 +7314,7 @@ loss of performance or quality of service is expected in this case). | |||
7298 | @node What is a Block? | 7314 | @node What is a Block? |
7299 | @subsubsection What is a Block? | 7315 | @subsubsection What is a Block? |
7300 | 7316 | ||
7301 | @c %**end of header | 7317 | |
7302 | 7318 | ||
7303 | Blocks are small (< 63k) pieces of data stored under a key (struct | 7319 | Blocks are small (< 63k) pieces of data stored under a key (struct |
7304 | GNUNET_HashCode). Blocks have a type (enum GNUNET_BlockType) which defines | 7320 | GNUNET_HashCode). Blocks have a type (enum GNUNET_BlockType) which defines |
@@ -7315,7 +7331,7 @@ available for any type of block. | |||
7315 | @node The API of libgnunetblock | 7331 | @node The API of libgnunetblock |
7316 | @subsubsection The API of libgnunetblock | 7332 | @subsubsection The API of libgnunetblock |
7317 | 7333 | ||
7318 | @c %**end of header | 7334 | |
7319 | 7335 | ||
7320 | The block library requires for each (family of) block type(s) a block | 7336 | The block library requires for each (family of) block type(s) a block |
7321 | plugin (implementing @file{gnunet_block_plugin.h}) that provides basic | 7337 | plugin (implementing @file{gnunet_block_plugin.h}) that provides basic |
@@ -7347,7 +7363,7 @@ If a plugin fails to do this, responses may loop in the network. | |||
7347 | 7363 | ||
7348 | @node Queries | 7364 | @node Queries |
7349 | @subsubsection Queries | 7365 | @subsubsection Queries |
7350 | @c %**end of header | 7366 | |
7351 | 7367 | ||
7352 | The query format for any block in GNUnet consists of four main components. | 7368 | The query format for any block in GNUnet consists of four main components. |
7353 | First, the type of the desired block must be specified. Second, the query | 7369 | First, the type of the desired block must be specified. Second, the query |
@@ -7375,7 +7391,7 @@ Depending on the results from the plugin, the DHT will then discard the | |||
7375 | @node Sample Code | 7391 | @node Sample Code |
7376 | @subsubsection Sample Code | 7392 | @subsubsection Sample Code |
7377 | 7393 | ||
7378 | @c %**end of header | 7394 | |
7379 | 7395 | ||
7380 | The source code in @strong{plugin_block_test.c} is a good starting point | 7396 | The source code in @strong{plugin_block_test.c} is a good starting point |
7381 | for new block plugins --- it does the minimal work by implementing a | 7397 | for new block plugins --- it does the minimal work by implementing a |
@@ -7386,7 +7402,7 @@ block plugin. | |||
7386 | @node Conclusion2 | 7402 | @node Conclusion2 |
7387 | @subsubsection Conclusion2 | 7403 | @subsubsection Conclusion2 |
7388 | 7404 | ||
7389 | @c %**end of header | 7405 | |
7390 | 7406 | ||
7391 | In conclusion, GNUnet subsystems that want to use the DHT need to define a | 7407 | In conclusion, GNUnet subsystems that want to use the DHT need to define a |
7392 | block format and write a plugin to match queries and replies. For testing, | 7408 | block format and write a plugin to match queries and replies. For testing, |
@@ -7400,7 +7416,7 @@ of error checking that results from this primitive implementation. | |||
7400 | @node libgnunetdht | 7416 | @node libgnunetdht |
7401 | @subsection libgnunetdht | 7417 | @subsection libgnunetdht |
7402 | 7418 | ||
7403 | @c %**end of header | 7419 | |
7404 | 7420 | ||
7405 | The DHT API itself is pretty simple and offers the usual GET and PUT | 7421 | The DHT API itself is pretty simple and offers the usual GET and PUT |
7406 | functions that work as expected. The specified block type refers to the | 7422 | functions that work as expected. The specified block type refers to the |
@@ -7418,7 +7434,7 @@ data stored in the network. | |||
7418 | @node GET | 7434 | @node GET |
7419 | @subsubsection GET | 7435 | @subsubsection GET |
7420 | 7436 | ||
7421 | @c %**end of header | 7437 | |
7422 | 7438 | ||
7423 | When using GET, the main consideration for developers (other than the | 7439 | When using GET, the main consideration for developers (other than the |
7424 | block library) should be that after issuing a GET, the DHT will | 7440 | block library) should be that after issuing a GET, the DHT will |
@@ -7446,7 +7462,7 @@ bandwidth consumption. | |||
7446 | @node PUT | 7462 | @node PUT |
7447 | @subsubsection PUT | 7463 | @subsubsection PUT |
7448 | 7464 | ||
7449 | @c %**end of header | 7465 | |
7450 | 7466 | ||
7451 | @c inconsistent use of ``must'' above it's written ``MUST'' | 7467 | @c inconsistent use of ``must'' above it's written ``MUST'' |
7452 | In contrast to GET operations, developers @strong{must} manually re-run | 7468 | In contrast to GET operations, developers @strong{must} manually re-run |
@@ -7468,7 +7484,7 @@ DHT PUT operations should be repeated at least every 1-2 hours. | |||
7468 | @node MONITOR | 7484 | @node MONITOR |
7469 | @subsubsection MONITOR | 7485 | @subsubsection MONITOR |
7470 | 7486 | ||
7471 | @c %**end of header | 7487 | |
7472 | 7488 | ||
7473 | The DHT API also allows applications to monitor messages crossing the | 7489 | The DHT API also allows applications to monitor messages crossing the |
7474 | local DHT service. | 7490 | local DHT service. |
@@ -7491,7 +7507,7 @@ number of workers will process the distributed workload. | |||
7491 | @node DHT Routing Options | 7507 | @node DHT Routing Options |
7492 | @subsubsection DHT Routing Options | 7508 | @subsubsection DHT Routing Options |
7493 | 7509 | ||
7494 | @c %**end of header | 7510 | |
7495 | 7511 | ||
7496 | There are two important options for GET and PUT requests: | 7512 | There are two important options for GET and PUT requests: |
7497 | 7513 | ||
@@ -7521,7 +7537,7 @@ in the future offer performance improvements for clique topologies. | |||
7521 | @node The DHT Client-Service Protocol | 7537 | @node The DHT Client-Service Protocol |
7522 | @subsection The DHT Client-Service Protocol | 7538 | @subsection The DHT Client-Service Protocol |
7523 | 7539 | ||
7524 | @c %**end of header | 7540 | |
7525 | 7541 | ||
7526 | @menu | 7542 | @menu |
7527 | * PUTting data into the DHT:: | 7543 | * PUTting data into the DHT:: |
@@ -7532,7 +7548,7 @@ in the future offer performance improvements for clique topologies. | |||
7532 | @node PUTting data into the DHT | 7548 | @node PUTting data into the DHT |
7533 | @subsubsection PUTting data into the DHT | 7549 | @subsubsection PUTting data into the DHT |
7534 | 7550 | ||
7535 | @c %**end of header | 7551 | |
7536 | 7552 | ||
7537 | To store (PUT) data into the DHT, the client sends a | 7553 | To store (PUT) data into the DHT, the client sends a |
7538 | @code{struct GNUNET_DHT_ClientPutMessage} to the service. | 7554 | @code{struct GNUNET_DHT_ClientPutMessage} to the service. |
@@ -7553,7 +7569,7 @@ in the P2P interaction. | |||
7553 | @node GETting data from the DHT | 7569 | @node GETting data from the DHT |
7554 | @subsubsection GETting data from the DHT | 7570 | @subsubsection GETting data from the DHT |
7555 | 7571 | ||
7556 | @c %**end of header | 7572 | |
7557 | 7573 | ||
7558 | To retrieve (GET) data from the DHT, the client sends a | 7574 | To retrieve (GET) data from the DHT, the client sends a |
7559 | @code{struct GNUNET_DHT_ClientGetMessage} to the service. The message | 7575 | @code{struct GNUNET_DHT_ClientGetMessage} to the service. The message |
@@ -7592,7 +7608,7 @@ service --- and to stop them individually. | |||
7592 | @node Monitoring the DHT | 7608 | @node Monitoring the DHT |
7593 | @subsubsection Monitoring the DHT | 7609 | @subsubsection Monitoring the DHT |
7594 | 7610 | ||
7595 | @c %**end of header | 7611 | |
7596 | 7612 | ||
7597 | To begin monitoring, the client sends a | 7613 | To begin monitoring, the client sends a |
7598 | @code{struct GNUNET_DHT_MonitorStartStop} message to the DHT service. | 7614 | @code{struct GNUNET_DHT_MonitorStartStop} message to the DHT service. |
@@ -7607,7 +7623,7 @@ these messages contains all of the information about the event. | |||
7607 | 7623 | ||
7608 | @node The DHT Peer-to-Peer Protocol | 7624 | @node The DHT Peer-to-Peer Protocol |
7609 | @subsection The DHT Peer-to-Peer Protocol | 7625 | @subsection The DHT Peer-to-Peer Protocol |
7610 | @c %**end of header | 7626 | |
7611 | 7627 | ||
7612 | 7628 | ||
7613 | @menu | 7629 | @menu |
@@ -7619,7 +7635,7 @@ these messages contains all of the information about the event. | |||
7619 | @node Routing GETs or PUTs | 7635 | @node Routing GETs or PUTs |
7620 | @subsubsection Routing GETs or PUTs | 7636 | @subsubsection Routing GETs or PUTs |
7621 | 7637 | ||
7622 | @c %**end of header | 7638 | |
7623 | 7639 | ||
7624 | When routing GETs or PUTs, the DHT service selects a suitable subset of | 7640 | When routing GETs or PUTs, the DHT service selects a suitable subset of |
7625 | neighbours for forwarding. The exact number of neighbours can be zero or | 7641 | neighbours for forwarding. The exact number of neighbours can be zero or |
@@ -7634,7 +7650,7 @@ traversed; those peers are also excluded from the selection. | |||
7634 | @node PUTting data into the DHT2 | 7650 | @node PUTting data into the DHT2 |
7635 | @subsubsection PUTting data into the DHT2 | 7651 | @subsubsection PUTting data into the DHT2 |
7636 | 7652 | ||
7637 | @c %**end of header | 7653 | |
7638 | 7654 | ||
7639 | To PUT data into the DHT, the service sends a @code{struct PeerPutMessage} | 7655 | To PUT data into the DHT, the service sends a @code{struct PeerPutMessage} |
7640 | of type @code{GNUNET_MESSAGE_TYPE_DHT_P2P_PUT} to the respective | 7656 | of type @code{GNUNET_MESSAGE_TYPE_DHT_P2P_PUT} to the respective |
@@ -7656,7 +7672,7 @@ its own identity (this is done to reduce bandwidth). | |||
7656 | @node GETting data from the DHT2 | 7672 | @node GETting data from the DHT2 |
7657 | @subsubsection GETting data from the DHT2 | 7673 | @subsubsection GETting data from the DHT2 |
7658 | 7674 | ||
7659 | @c %**end of header | 7675 | |
7660 | 7676 | ||
7661 | A peer can search the DHT by sending @code{struct PeerGetMessage}s of type | 7677 | A peer can search the DHT by sending @code{struct PeerGetMessage}s of type |
7662 | @code{GNUNET_MESSAGE_TYPE_DHT_P2P_GET} to other peers. In addition to the | 7678 | @code{GNUNET_MESSAGE_TYPE_DHT_P2P_GET} to other peers. In addition to the |
@@ -7695,7 +7711,7 @@ The DHT service may also cache forwarded results locally if the | |||
7695 | @node GNU Name System (GNS) | 7711 | @node GNU Name System (GNS) |
7696 | @section GNU Name System (GNS) | 7712 | @section GNU Name System (GNS) |
7697 | 7713 | ||
7698 | @c %**end of header | 7714 | |
7699 | 7715 | ||
7700 | The GNU Name System (GNS) is a decentralized database that enables users | 7716 | The GNU Name System (GNS) is a decentralized database that enables users |
7701 | to securely resolve names to values. | 7717 | to securely resolve names to values. |
@@ -7750,7 +7766,7 @@ record types. | |||
7750 | @node libgnunetgns | 7766 | @node libgnunetgns |
7751 | @subsection libgnunetgns | 7767 | @subsection libgnunetgns |
7752 | 7768 | ||
7753 | @c %**end of header | 7769 | |
7754 | 7770 | ||
7755 | The GNS API itself is extremely simple. Clients first connect to the | 7771 | The GNS API itself is extremely simple. Clients first connect to the |
7756 | GNS service using @code{GNUNET_GNS_connect}. | 7772 | GNS service using @code{GNUNET_GNS_connect}. |
@@ -7768,7 +7784,7 @@ Once finished, clients disconnect using @code{GNUNET_GNS_disconnect}. | |||
7768 | @node Looking up records | 7784 | @node Looking up records |
7769 | @subsubsection Looking up records | 7785 | @subsubsection Looking up records |
7770 | 7786 | ||
7771 | @c %**end of header | 7787 | |
7772 | 7788 | ||
7773 | @code{GNUNET_GNS_lookup} takes a number of arguments: | 7789 | @code{GNUNET_GNS_lookup} takes a number of arguments: |
7774 | 7790 | ||
@@ -7810,7 +7826,7 @@ must no longer be canceled. | |||
7810 | @node Accessing the records | 7826 | @node Accessing the records |
7811 | @subsubsection Accessing the records | 7827 | @subsubsection Accessing the records |
7812 | 7828 | ||
7813 | @c %**end of header | 7829 | |
7814 | 7830 | ||
7815 | The @code{libgnunetgnsrecord} library provides an API to manipulate the | 7831 | The @code{libgnunetgnsrecord} library provides an API to manipulate the |
7816 | GNS record array that is given to proc. In particular, it offers | 7832 | GNS record array that is given to proc. In particular, it offers |
@@ -7824,7 +7840,7 @@ functions for parsing (and serializing) common types of DNS records. | |||
7824 | @node Creating records | 7840 | @node Creating records |
7825 | @subsubsection Creating records | 7841 | @subsubsection Creating records |
7826 | 7842 | ||
7827 | @c %**end of header | 7843 | |
7828 | 7844 | ||
7829 | Creating GNS records is typically done by building the respective record | 7845 | Creating GNS records is typically done by building the respective record |
7830 | information (possibly with the help of @code{libgnunetgnsrecord} and | 7846 | information (possibly with the help of @code{libgnunetgnsrecord} and |
@@ -7835,7 +7851,7 @@ operation. | |||
7835 | @node Future work | 7851 | @node Future work |
7836 | @subsubsection Future work | 7852 | @subsubsection Future work |
7837 | 7853 | ||
7838 | @c %**end of header | 7854 | |
7839 | 7855 | ||
7840 | In the future, we want to expand @code{libgnunetgns} to allow | 7856 | In the future, we want to expand @code{libgnunetgns} to allow |
7841 | applications to observe shortening operations performed during GNS | 7857 | applications to observe shortening operations performed during GNS |
@@ -7845,7 +7861,7 @@ this happens. | |||
7845 | @node libgnunetgnsrecord | 7861 | @node libgnunetgnsrecord |
7846 | @subsection libgnunetgnsrecord | 7862 | @subsection libgnunetgnsrecord |
7847 | 7863 | ||
7848 | @c %**end of header | 7864 | |
7849 | 7865 | ||
7850 | The @code{libgnunetgnsrecord} library is used to manipulate GNS | 7866 | The @code{libgnunetgnsrecord} library is used to manipulate GNS |
7851 | records (in plaintext or in their encrypted format). | 7867 | records (in plaintext or in their encrypted format). |
@@ -7871,7 +7887,7 @@ standard GNS record types. | |||
7871 | @node Value handling | 7887 | @node Value handling |
7872 | @subsubsection Value handling | 7888 | @subsubsection Value handling |
7873 | 7889 | ||
7874 | @c %**end of header | 7890 | |
7875 | 7891 | ||
7876 | @code{GNUNET_GNSRECORD_value_to_string} can be used to convert | 7892 | @code{GNUNET_GNSRECORD_value_to_string} can be used to convert |
7877 | the (binary) representation of a GNS record value to a human readable, | 7893 | the (binary) representation of a GNS record value to a human readable, |
@@ -7886,7 +7902,7 @@ a GNS record value. | |||
7886 | @node Type handling | 7902 | @node Type handling |
7887 | @subsubsection Type handling | 7903 | @subsubsection Type handling |
7888 | 7904 | ||
7889 | @c %**end of header | 7905 | |
7890 | 7906 | ||
7891 | @code{GNUNET_GNSRECORD_typename_to_number} can be used to obtain the | 7907 | @code{GNUNET_GNSRECORD_typename_to_number} can be used to obtain the |
7892 | numeric value associated with a given typename. For example, given the | 7908 | numeric value associated with a given typename. For example, given the |
@@ -7904,7 +7920,7 @@ typename "A". | |||
7904 | @node GNS plugins | 7920 | @node GNS plugins |
7905 | @subsection GNS plugins | 7921 | @subsection GNS plugins |
7906 | 7922 | ||
7907 | @c %**end of header | 7923 | |
7908 | 7924 | ||
7909 | Adding a new GNS record type typically involves writing (or extending) a | 7925 | Adding a new GNS record type typically involves writing (or extending) a |
7910 | GNSRECORD plugin. The plugin needs to implement the | 7926 | GNSRECORD plugin. The plugin needs to implement the |
@@ -7930,7 +7946,7 @@ typenames and numbers documented in the previous subsection. | |||
7930 | 7946 | ||
7931 | @node The GNS Client-Service Protocol | 7947 | @node The GNS Client-Service Protocol |
7932 | @subsection The GNS Client-Service Protocol | 7948 | @subsection The GNS Client-Service Protocol |
7933 | @c %**end of header | 7949 | |
7934 | 7950 | ||
7935 | The GNS client-service protocol consists of two simple messages, the | 7951 | The GNS client-service protocol consists of two simple messages, the |
7936 | @code{LOOKUP} message and the @code{LOOKUP_RESULT}. Each @code{LOOKUP} | 7952 | @code{LOOKUP} message and the @code{LOOKUP_RESULT}. Each @code{LOOKUP} |
@@ -7950,7 +7966,7 @@ They can thus be deserialized using | |||
7950 | @node Hijacking the DNS-Traffic using gnunet-service-dns | 7966 | @node Hijacking the DNS-Traffic using gnunet-service-dns |
7951 | @subsection Hijacking the DNS-Traffic using gnunet-service-dns | 7967 | @subsection Hijacking the DNS-Traffic using gnunet-service-dns |
7952 | 7968 | ||
7953 | @c %**end of header | 7969 | |
7954 | 7970 | ||
7955 | This section documents how the gnunet-service-dns (and the | 7971 | This section documents how the gnunet-service-dns (and the |
7956 | gnunet-helper-dns) intercepts DNS queries from the local system. | 7972 | gnunet-helper-dns) intercepts DNS queries from the local system. |
@@ -7987,7 +8003,7 @@ interface with the original nameserver as source address. | |||
7987 | @node Network Setup Details | 8003 | @node Network Setup Details |
7988 | @subsubsection Network Setup Details | 8004 | @subsubsection Network Setup Details |
7989 | 8005 | ||
7990 | @c %**end of header | 8006 | |
7991 | 8007 | ||
7992 | The DNS interceptor adds the following rules to the Linux kernel: | 8008 | The DNS interceptor adds the following rules to the Linux kernel: |
7993 | @example | 8009 | @example |
@@ -8008,7 +8024,7 @@ arbitrarily). The third line adds a routing policy based on this mark | |||
8008 | @node Serving DNS lookups via GNS on W32 | 8024 | @node Serving DNS lookups via GNS on W32 |
8009 | @subsection Serving DNS lookups via GNS on W32 | 8025 | @subsection Serving DNS lookups via GNS on W32 |
8010 | 8026 | ||
8011 | @c %**end of header | 8027 | |
8012 | 8028 | ||
8013 | This section documents how the libw32nsp (and | 8029 | This section documents how the libw32nsp (and |
8014 | gnunet-gns-helper-service-w32) do DNS resolutions of DNS queries on the | 8030 | gnunet-gns-helper-service-w32) do DNS resolutions of DNS queries on the |
@@ -8078,10 +8094,9 @@ This includes some of well known utilities, like "ping" and "nslookup". | |||
8078 | @node Importing DNS Zones into GNS | 8094 | @node Importing DNS Zones into GNS |
8079 | @subsection Importing DNS Zones into GNS | 8095 | @subsection Importing DNS Zones into GNS |
8080 | 8096 | ||
8081 | @c %**end of header | ||
8082 | |||
8083 | This section discusses the challenges and problems faced when writing the | 8097 | This section discusses the challenges and problems faced when writing the |
8084 | Ascension tool. It also takes a look at possible improvements in the future. | 8098 | Ascension tool. It also takes a look at possible improvements in the |
8099 | future. | ||
8085 | 8100 | ||
8086 | @menu | 8101 | @menu |
8087 | * Conversions between DNS and GNS:: | 8102 | * Conversions between DNS and GNS:: |
@@ -8089,29 +8104,31 @@ Ascension tool. It also takes a look at possible improvements in the future. | |||
8089 | * Performance:: | 8104 | * Performance:: |
8090 | @end menu | 8105 | @end menu |
8091 | 8106 | ||
8107 | @cindex DNS Conversion | ||
8092 | @node Conversions between DNS and GNS | 8108 | @node Conversions between DNS and GNS |
8093 | @subsubsection Conversions between DNS and GNS | 8109 | @subsubsection Conversions between DNS and GNS |
8094 | 8110 | ||
8095 | The differences between the two name systems lies in the details | 8111 | The differences between the two name systems lies in the details |
8096 | and is not always transparent. For instance an SRV record is converted to a | 8112 | and is not always transparent. |
8097 | GNS only BOX record. | 8113 | For instance an SRV record is converted to a GNS only BOX record. |
8098 | 8114 | ||
8099 | This is done by converting to a BOX record from an existing SRV record: | 8115 | This is done by converting to a BOX record from an existing SRV record: |
8100 | 8116 | ||
8101 | @example | 8117 | @example |
8102 | # SRV | 8118 | # SRV |
8103 | # _service._proto.name. TTL class SRV priority weight port target | 8119 | # _service._proto.name. TTL class SRV priority weight port target |
8104 | _sip._tcp.example.com. 14000 IN SRV 0 0 5060 www.example.com. | 8120 | _sip._tcp.example.com. 14000 IN SRV 0 0 5060 www.example.com. |
8105 | # BOX | 8121 | # BOX |
8106 | # TTL BOX flags port protocol recordtype priority weight port target | 8122 | # TTL BOX flags port protocol recordtype priority weight port target |
8107 | 14000 BOX n 5060 6 33 0 0 5060 www.example.com | 8123 | 14000 BOX n 5060 6 33 0 0 5060 www.example.com |
8108 | @end example | 8124 | @end example |
8109 | 8125 | ||
8110 | Other records that have such a transformation is the MX record type, as well as | 8126 | Other records that have such a transformation is the MX record type, |
8111 | the SOA record type. | 8127 | as well as the SOA record type. |
8128 | |||
8129 | Transformation of a SOA record into GNS works as described in the | ||
8130 | following example. Very important to note are the rname and mname keys. | ||
8112 | 8131 | ||
8113 | Transformation of a SOA record into GNS works as described in the following | ||
8114 | example. Very important to note are the rname and mname keys. | ||
8115 | @example | 8132 | @example |
8116 | # BIND syntax for a clean SOA record | 8133 | # BIND syntax for a clean SOA record |
8117 | @ IN SOA master.example.com. hostmaster.example.com. ( | 8134 | @ IN SOA master.example.com. hostmaster.example.com. ( |
@@ -8235,7 +8252,7 @@ that uses the C API would be cleaner and better. | |||
8235 | @node GNS Namecache | 8252 | @node GNS Namecache |
8236 | @section GNS Namecache | 8253 | @section GNS Namecache |
8237 | 8254 | ||
8238 | @c %**end of header | 8255 | |
8239 | 8256 | ||
8240 | The NAMECACHE subsystem is responsible for caching (encrypted) resolution | 8257 | The NAMECACHE subsystem is responsible for caching (encrypted) resolution |
8241 | results of the GNU Name System (GNS). GNS makes zone information available | 8258 | results of the GNU Name System (GNS). GNS makes zone information available |
@@ -8274,7 +8291,7 @@ plugin API. | |||
8274 | @node libgnunetnamecache | 8291 | @node libgnunetnamecache |
8275 | @subsection libgnunetnamecache | 8292 | @subsection libgnunetnamecache |
8276 | 8293 | ||
8277 | @c %**end of header | 8294 | |
8278 | 8295 | ||
8279 | The NAMECACHE API consists of five simple functions. First, there is | 8296 | The NAMECACHE API consists of five simple functions. First, there is |
8280 | @code{GNUNET_NAMECACHE_connect} to connect to the NAMECACHE service. | 8297 | @code{GNUNET_NAMECACHE_connect} to connect to the NAMECACHE service. |
@@ -8297,7 +8314,7 @@ The maximum size of a block that can be stored in the NAMECACHE is | |||
8297 | @node The NAMECACHE Client-Service Protocol | 8314 | @node The NAMECACHE Client-Service Protocol |
8298 | @subsection The NAMECACHE Client-Service Protocol | 8315 | @subsection The NAMECACHE Client-Service Protocol |
8299 | 8316 | ||
8300 | @c %**end of header | 8317 | |
8301 | 8318 | ||
8302 | All messages in the NAMECACHE IPC protocol start with the | 8319 | All messages in the NAMECACHE IPC protocol start with the |
8303 | @code{struct GNUNET_NAMECACHE_Header} which adds a request | 8320 | @code{struct GNUNET_NAMECACHE_Header} which adds a request |
@@ -8315,7 +8332,7 @@ out-of-order. | |||
8315 | @node Lookup | 8332 | @node Lookup |
8316 | @subsubsection Lookup | 8333 | @subsubsection Lookup |
8317 | 8334 | ||
8318 | @c %**end of header | 8335 | |
8319 | 8336 | ||
8320 | The @code{struct LookupBlockMessage} is used to lookup a block stored in | 8337 | The @code{struct LookupBlockMessage} is used to lookup a block stored in |
8321 | the cache. | 8338 | the cache. |
@@ -8329,7 +8346,7 @@ of the block. | |||
8329 | @node Store | 8346 | @node Store |
8330 | @subsubsection Store | 8347 | @subsubsection Store |
8331 | 8348 | ||
8332 | @c %**end of header | 8349 | |
8333 | 8350 | ||
8334 | The @code{struct BlockCacheMessage} is used to cache a block in the | 8351 | The @code{struct BlockCacheMessage} is used to cache a block in the |
8335 | NAMECACHE. | 8352 | NAMECACHE. |
@@ -8341,7 +8358,7 @@ message as well. | |||
8341 | 8358 | ||
8342 | @node The NAMECACHE Plugin API | 8359 | @node The NAMECACHE Plugin API |
8343 | @subsection The NAMECACHE Plugin API | 8360 | @subsection The NAMECACHE Plugin API |
8344 | @c %**end of header | 8361 | |
8345 | 8362 | ||
8346 | The NAMECACHE plugin API consists of two functions, @code{cache_block} to | 8363 | The NAMECACHE plugin API consists of two functions, @code{cache_block} to |
8347 | store a block in the database, and @code{lookup_block} to lookup a block | 8364 | store a block in the database, and @code{lookup_block} to lookup a block |
@@ -8356,7 +8373,7 @@ in the database. | |||
8356 | @node Lookup2 | 8373 | @node Lookup2 |
8357 | @subsubsection Lookup2 | 8374 | @subsubsection Lookup2 |
8358 | 8375 | ||
8359 | @c %**end of header | 8376 | |
8360 | 8377 | ||
8361 | The @code{lookup_block} function is expected to return at most one block | 8378 | The @code{lookup_block} function is expected to return at most one block |
8362 | to the iterator, and return @code{GNUNET_NO} if there were no non-expired | 8379 | to the iterator, and return @code{GNUNET_NO} if there were no non-expired |
@@ -8367,7 +8384,7 @@ supposed to return the result with the largest expiration time. | |||
8367 | @node Store2 | 8384 | @node Store2 |
8368 | @subsubsection Store2 | 8385 | @subsubsection Store2 |
8369 | 8386 | ||
8370 | @c %**end of header | 8387 | |
8371 | 8388 | ||
8372 | The @code{cache_block} function is expected to try to store the block in | 8389 | The @code{cache_block} function is expected to try to store the block in |
8373 | the database, and return @code{GNUNET_SYSERR} if this was not possible | 8390 | the database, and return @code{GNUNET_SYSERR} if this was not possible |
@@ -8384,7 +8401,7 @@ block is more recent during the store operation. | |||
8384 | @cindex REVOCATION Subsystem | 8401 | @cindex REVOCATION Subsystem |
8385 | @node REVOCATION Subsystem | 8402 | @node REVOCATION Subsystem |
8386 | @section REVOCATION Subsystem | 8403 | @section REVOCATION Subsystem |
8387 | @c %**end of header | 8404 | |
8388 | 8405 | ||
8389 | The REVOCATION subsystem is responsible for key revocation of Egos. | 8406 | The REVOCATION subsystem is responsible for key revocation of Egos. |
8390 | If a user learns that theis private key has been compromised or has lost | 8407 | If a user learns that theis private key has been compromised or has lost |
@@ -8404,7 +8421,7 @@ propagate revocation messages. | |||
8404 | @node Dissemination | 8421 | @node Dissemination |
8405 | @subsection Dissemination | 8422 | @subsection Dissemination |
8406 | 8423 | ||
8407 | @c %**end of header | 8424 | |
8408 | 8425 | ||
8409 | When a revocation is performed, the revocation is first of all | 8426 | When a revocation is performed, the revocation is first of all |
8410 | disseminated by flooding the overlay network. | 8427 | disseminated by flooding the overlay network. |
@@ -8428,7 +8445,7 @@ The SET service is used to perform this operation efficiently. | |||
8428 | @node Revocation Message Design Requirements | 8445 | @node Revocation Message Design Requirements |
8429 | @subsection Revocation Message Design Requirements | 8446 | @subsection Revocation Message Design Requirements |
8430 | 8447 | ||
8431 | @c %**end of header | 8448 | |
8432 | 8449 | ||
8433 | However, flooding is also quite costly, creating O(|E|) messages on a | 8450 | However, flooding is also quite costly, creating O(|E|) messages on a |
8434 | network with |E| edges. | 8451 | network with |E| edges. |
@@ -8450,7 +8467,7 @@ revocation message ahead of time and store it in a secure location. | |||
8450 | @node libgnunetrevocation | 8467 | @node libgnunetrevocation |
8451 | @subsection libgnunetrevocation | 8468 | @subsection libgnunetrevocation |
8452 | 8469 | ||
8453 | @c %**end of header | 8470 | |
8454 | 8471 | ||
8455 | The REVOCATION API consists of two parts, to query and to issue | 8472 | The REVOCATION API consists of two parts, to query and to issue |
8456 | revocations. | 8473 | revocations. |
@@ -8465,7 +8482,7 @@ revocations. | |||
8465 | @node Querying for revoked keys | 8482 | @node Querying for revoked keys |
8466 | @subsubsection Querying for revoked keys | 8483 | @subsubsection Querying for revoked keys |
8467 | 8484 | ||
8468 | @c %**end of header | 8485 | |
8469 | 8486 | ||
8470 | @code{GNUNET_REVOCATION_query} is used to check if a given ECDSA public | 8487 | @code{GNUNET_REVOCATION_query} is used to check if a given ECDSA public |
8471 | key has been revoked. | 8488 | key has been revoked. |
@@ -8476,7 +8493,7 @@ the return value. | |||
8476 | @node Preparing revocations | 8493 | @node Preparing revocations |
8477 | @subsubsection Preparing revocations | 8494 | @subsubsection Preparing revocations |
8478 | 8495 | ||
8479 | @c %**end of header | 8496 | |
8480 | 8497 | ||
8481 | It is often desirable to create a revocation record ahead-of-time and | 8498 | It is often desirable to create a revocation record ahead-of-time and |
8482 | store it in an off-line location to be used later in an emergency. | 8499 | store it in an off-line location to be used later in an emergency. |
@@ -8544,7 +8561,7 @@ successfully. | |||
8544 | @node The REVOCATION Peer-to-Peer Protocol | 8561 | @node The REVOCATION Peer-to-Peer Protocol |
8545 | @subsection The REVOCATION Peer-to-Peer Protocol | 8562 | @subsection The REVOCATION Peer-to-Peer Protocol |
8546 | 8563 | ||
8547 | @c %**end of header | 8564 | |
8548 | 8565 | ||
8549 | Revocation uses two disjoint ways to spread revocation information among | 8566 | Revocation uses two disjoint ways to spread revocation information among |
8550 | peers. | 8567 | peers. |
@@ -8579,7 +8596,7 @@ larger hashed peer identity. | |||
8579 | @node File-sharing (FS) Subsystem | 8596 | @node File-sharing (FS) Subsystem |
8580 | @section File-sharing (FS) Subsystem | 8597 | @section File-sharing (FS) Subsystem |
8581 | 8598 | ||
8582 | @c %**end of header | 8599 | |
8583 | 8600 | ||
8584 | This chapter describes the details of how the file-sharing service works. | 8601 | This chapter describes the details of how the file-sharing service works. |
8585 | As with all services, it is split into an API (libgnunetfs), the service | 8602 | As with all services, it is split into an API (libgnunetfs), the service |
@@ -8617,7 +8634,7 @@ NOTE: The documentation in this chapter is quite incomplete. | |||
8617 | @node Encoding for Censorship-Resistant Sharing (ECRS) | 8634 | @node Encoding for Censorship-Resistant Sharing (ECRS) |
8618 | @subsection Encoding for Censorship-Resistant Sharing (ECRS) | 8635 | @subsection Encoding for Censorship-Resistant Sharing (ECRS) |
8619 | 8636 | ||
8620 | @c %**end of header | 8637 | |
8621 | 8638 | ||
8622 | When GNUnet shares files, it uses a content encoding that is called ECRS, | 8639 | When GNUnet shares files, it uses a content encoding that is called ECRS, |
8623 | the Encoding for Censorship-Resistant Sharing. | 8640 | the Encoding for Censorship-Resistant Sharing. |
@@ -8639,7 +8656,7 @@ thus did not warrant space in the research report. | |||
8639 | @node Namespace Advertisements | 8656 | @node Namespace Advertisements |
8640 | @subsubsection Namespace Advertisements | 8657 | @subsubsection Namespace Advertisements |
8641 | 8658 | ||
8642 | @c %**end of header | 8659 | |
8643 | @c %**FIXME: all zeroses -> ? | 8660 | @c %**FIXME: all zeroses -> ? |
8644 | 8661 | ||
8645 | An @code{SBlock} with identifier all zeros is a signed | 8662 | An @code{SBlock} with identifier all zeros is a signed |
@@ -8654,7 +8671,7 @@ can search for @code{SBlock}s in order to find out more about a namespace. | |||
8654 | @node KSBlocks | 8671 | @node KSBlocks |
8655 | @subsubsection KSBlocks | 8672 | @subsubsection KSBlocks |
8656 | 8673 | ||
8657 | @c %**end of header | 8674 | |
8658 | 8675 | ||
8659 | GNUnet implements @code{KSBlocks} which are @code{KBlocks} that, instead | 8676 | GNUnet implements @code{KSBlocks} which are @code{KBlocks} that, instead |
8660 | of encrypting a CHK and metadata, encrypt an @code{SBlock} instead. | 8677 | of encrypting a CHK and metadata, encrypt an @code{SBlock} instead. |
@@ -8680,7 +8697,7 @@ Collections are also advertised using @code{KSBlock}s. | |||
8680 | @node File-sharing persistence directory structure | 8697 | @node File-sharing persistence directory structure |
8681 | @subsection File-sharing persistence directory structure | 8698 | @subsection File-sharing persistence directory structure |
8682 | 8699 | ||
8683 | @c %**end of header | 8700 | |
8684 | 8701 | ||
8685 | This section documents how the file-sharing library implements | 8702 | This section documents how the file-sharing library implements |
8686 | persistence of file-sharing operations and specifically the resulting | 8703 | persistence of file-sharing operations and specifically the resulting |
@@ -8766,7 +8783,7 @@ Note that unindex operations cannot have associated child operations. | |||
8766 | @node REGEX Subsystem | 8783 | @node REGEX Subsystem |
8767 | @section REGEX Subsystem | 8784 | @section REGEX Subsystem |
8768 | 8785 | ||
8769 | @c %**end of header | 8786 | |
8770 | 8787 | ||
8771 | Using the REGEX subsystem, you can discover peers that offer a particular | 8788 | Using the REGEX subsystem, you can discover peers that offer a particular |
8772 | service using regular expressions. | 8789 | service using regular expressions. |
@@ -8789,7 +8806,7 @@ thesis. | |||
8789 | @node How to run the regex profiler | 8806 | @node How to run the regex profiler |
8790 | @subsection How to run the regex profiler | 8807 | @subsection How to run the regex profiler |
8791 | 8808 | ||
8792 | @c %**end of header | 8809 | |
8793 | 8810 | ||
8794 | The gnunet-regex-profiler can be used to profile the usage of mesh/regex | 8811 | The gnunet-regex-profiler can be used to profile the usage of mesh/regex |
8795 | for a given set of regular expressions and strings. | 8812 | for a given set of regular expressions and strings. |
@@ -8922,7 +8939,7 @@ regular expressions. | |||
8922 | @node REST Subsystem | 8939 | @node REST Subsystem |
8923 | @section REST Subsystem | 8940 | @section REST Subsystem |
8924 | 8941 | ||
8925 | @c %**end of header | 8942 | |
8926 | 8943 | ||
8927 | Using the REST subsystem, you can expose REST-based APIs or services. | 8944 | Using the REST subsystem, you can expose REST-based APIs or services. |
8928 | The REST service is designed as a pluggable architecture. | 8945 | The REST service is designed as a pluggable architecture. |
diff --git a/doc/handbook/chapters/installation.texi b/doc/handbook/chapters/installation.texi index a907a1046..ad848b4a0 100644 --- a/doc/handbook/chapters/installation.texi +++ b/doc/handbook/chapters/installation.texi | |||
@@ -12,9 +12,9 @@ package manager. | |||
12 | * Create @code{gnunet} user and group:: | 12 | * Create @code{gnunet} user and group:: |
13 | * Preparing and Compiling the Source Code:: | 13 | * Preparing and Compiling the Source Code:: |
14 | * Installation:: | 14 | * Installation:: |
15 | * MOVED FROM USER Checking the Installation:: | 15 | * Checking the Installation:: |
16 | * MOVED FROM USER The graphical configuration interface:: | 16 | * The graphical configuration interface:: |
17 | * MOVED FROM USER Config Leftovers:: | 17 | * Config Leftovers:: |
18 | @end menu | 18 | @end menu |
19 | 19 | ||
20 | @c ----------------------------------------------------------------------- | 20 | @c ----------------------------------------------------------------------- |
@@ -27,36 +27,54 @@ link to the project websites. | |||
27 | 27 | ||
28 | The mandatory libraries and applications are | 28 | The mandatory libraries and applications are |
29 | @itemize @bullet | 29 | @itemize @bullet |
30 | @item libtool | ||
31 | @item autoconf 2.59 or above | 30 | @item autoconf 2.59 or above |
32 | @item automake 1.11.1 or above | 31 | @item automake 1.11.1 or above |
33 | @item pkg-config | 32 | @item gettext |
33 | @item glibc (read below, other libcs should work) | ||
34 | @item gnutls 3.2.12 or above, recommended to be linked against libunbound | ||
35 | @item iptables (on Linux systems) | ||
36 | @item libtool 2.2 or above | ||
37 | @item libltdl (part of libtool) | ||
34 | @item libgcrypt 1.6 or above | 38 | @item libgcrypt 1.6 or above |
35 | @item libextractor | 39 | @item libextractor |
36 | @item libidn | 40 | @item libidn2 or libidn |
37 | @item libmicrohttpd 0.9.52 or above | 41 | @item libmicrohttpd 0.9.52 or above |
38 | @item libnss | ||
39 | @item libunistring | 42 | @item libunistring |
40 | @item gettext | ||
41 | @item glibc | ||
42 | @item libgmp | 43 | @item libgmp |
43 | @item gnutls | 44 | @item libgnurl or libcurl (libcurl has to be linked to GnuTLS) 7.35.0 or above |
44 | @item libcurl (has to be linked to GnuTLS) or libgnurl | 45 | @item Texinfo 5.2 or above (for building the documentation) |
46 | @item Texlive 2012 or above (for building the documentation, and for gnunet-bcd) | ||
47 | @item makeinfo 4.8 or above | ||
45 | @item zlib | 48 | @item zlib |
46 | @end itemize | 49 | @end itemize |
47 | 50 | ||
51 | Glibc is required for certain NSS features: | ||
52 | |||
53 | @example | ||
54 | One mechanism of integrating GNS with legacy applications via NSS is | ||
55 | not available if this is disabled. But applications that don't use the | ||
56 | glibc for NS resolution won't work anyway with this, so little is lost | ||
57 | on BSD systems. | ||
58 | GNS via direct use or via the HTTP or DNS proxies is unaffected. | ||
59 | @end example | ||
60 | |||
61 | Other libcs should work, the resulting builds just don't include the | ||
62 | glibc NSS specific code. One example is the build against NetBSD's libc | ||
63 | as detailed in @uref{https://bugs.gnunet.org/view.php?id=5605}. | ||
64 | |||
48 | In addition GNUnet needs one of of these three databases | 65 | In addition GNUnet needs one of of these three databases |
49 | @itemize @bullet | 66 | @itemize @bullet |
50 | @item sqlite + libsqlite (the default, requires no further configuration) | 67 | @item sqlite + libsqlite 3.8 or above (the default, requires no further configuration) |
51 | @item postgres + libpq | 68 | @item postgres + libpq |
52 | @item mysql + libmysqlclient | 69 | @item mysql + libmysqlclient |
53 | @end itemize | 70 | @end itemize |
54 | 71 | ||
55 | These are the dependencies only required for certain features | 72 | These are the dependencies only required for certain features |
56 | @itemize @bullet | 73 | @itemize @bullet |
57 | @item Texinfo (for building the documentation) | 74 | @item guile 1.6.4 for gnunet-download-manager |
58 | @item Texlive (for building the documentation) | ||
59 | @item miniupnpc (for traversing NAT boxes more reliably) | 75 | @item miniupnpc (for traversing NAT boxes more reliably) |
76 | @item libnss | ||
77 | @item libglpk 4.45 or above for experimental code | ||
60 | @item libopus (for running the GNUnet conversation telephony application) | 78 | @item libopus (for running the GNUnet conversation telephony application) |
61 | @item libpulse (for running the GNUnet conversation telephony application) | 79 | @item libpulse (for running the GNUnet conversation telephony application) |
62 | @item libogg (for running the GNUnet conversation telephony application) | 80 | @item libogg (for running the GNUnet conversation telephony application) |
@@ -65,6 +83,24 @@ These are the dependencies only required for certain features | |||
65 | (for attribute-based encryption and the identity provider subsystem) | 83 | (for attribute-based encryption and the identity provider subsystem) |
66 | @item libgabe | 84 | @item libgabe |
67 | (for attribute-based encryption and the identity provider subsystem) | 85 | (for attribute-based encryption and the identity provider subsystem) |
86 | @item texi2mdoc (for automatic mdoc generation) | ||
87 | @item perl5 for some utilities | ||
88 | @end itemize | ||
89 | |||
90 | These are the test suite requirements: | ||
91 | @itemize @bullet | ||
92 | @item python3.7 | ||
93 | @item gnunet (installation first) | ||
94 | @item which(1) | ||
95 | @item a shell (possibly Bash, maybe just POSIX sh) | ||
96 | @end itemize | ||
97 | |||
98 | These are runtime requirements: | ||
99 | @itemize @bullet | ||
100 | @item nss (the certutil binary, for gnunet-gns-proxy-setup-ca) | ||
101 | @item openssl (openssl binary, for gnunet-gns-proxy-setup-ca) | ||
102 | @item python2.7 for gnunet-qr (at the moment only python2.7 supported) | ||
103 | @item python-zbar 0.10 or above for gnunet-qr | ||
68 | @end itemize | 104 | @end itemize |
69 | 105 | ||
70 | @c ----------------------------------------------------------------------- | 106 | @c ----------------------------------------------------------------------- |
@@ -82,7 +118,7 @@ The archive can be found at | |||
82 | @uref{https://ftpmirror.gnu.org/gnu/gnunet/}. Extract it using a graphical | 118 | @uref{https://ftpmirror.gnu.org/gnu/gnunet/}. Extract it using a graphical |
83 | archive tool or @code{tar}: | 119 | archive tool or @code{tar}: |
84 | @example | 120 | @example |
85 | tar xzvf gnunet-0.11.0pre66.tar.gz | 121 | tar xzvf gnunet-@value{VERSION}.tar.gz |
86 | @end example | 122 | @end example |
87 | 123 | ||
88 | In the next chapter we will assume that the source code is available | 124 | In the next chapter we will assume that the source code is available |
@@ -116,17 +152,24 @@ running @code{configure} the following options can be specified to | |||
116 | customize the compilation and installation process: | 152 | customize the compilation and installation process: |
117 | 153 | ||
118 | @itemize @bullet | 154 | @itemize @bullet |
119 | @item @code{--disable-documentation} - don't build the configuration documents | 155 | @item @code{--disable-documentation} - don't build the documentation |
120 | @item @code{--enable-looging=[LOGLEVEL]} - choose a loglevel (@code{debug}, @code{info}, @code{warning} or @code{error}) | 156 | @item @code{--enable-looging=[LOGLEVEL]} - choose a loglevel (@code{debug}, @code{info}, @code{warning} or @code{error}) |
121 | @item @code{--prefix=[PATH]} - the directory where the GNUnet libraries and binaries will be installed | 157 | @item @code{--prefix=[PATH]} - the directory where the GNUnet libraries and binaries will be installed |
122 | @item @code{--with-extractor=[PATH]} - the path to libextractor | 158 | @item @code{--with-extractor=[PATH]} - the path to libextractor |
123 | @item @code{--with-libidn=[PATH]} - the path to libidn | 159 | @item @code{--with-libidn=[PATH]} - the path to libidn |
160 | @item @code{--with-libidn2=[PATH]} - the path to libidn2 (takes priority over libidn if both are found) | ||
124 | @item @code{--with-microhttpd=[PATH]} - the path to libmicrohttpd | 161 | @item @code{--with-microhttpd=[PATH]} - the path to libmicrohttpd |
125 | @item @code{--with-sqlite=[PATH]} - the path to libsqlite | 162 | @item @code{--with-sqlite=[PATH]} - the path to libsqlite |
126 | @item @code{--with-zlib=[PATH]} - the path to zlib | 163 | @item @code{--with-zlib=[PATH]} - the path to zlib |
127 | @item @code{--with-sudo=[PATH]} - path to the sudo binary (no need to run @code{make install} as root if specified) | 164 | @item @code{--with-sudo=[PATH]} - path to the sudo binary (no need to run @code{make install} as root if specified) |
128 | @end itemize | 165 | @end itemize |
129 | 166 | ||
167 | Note that the list above is not always up to date and you | ||
168 | should check the output of @code{./configure --help}, read | ||
169 | the @file{configure.ac} or send an email asking for assistance | ||
170 | if you are in doubt of any configure options or require fixes | ||
171 | for your operating system. | ||
172 | |||
130 | The following example configures the installation prefix | 173 | The following example configures the installation prefix |
131 | @code{/usr/lib} and disables building the documentation | 174 | @code{/usr/lib} and disables building the documentation |
132 | @example | 175 | @example |
@@ -216,9 +259,9 @@ PLUGINS = tcp | |||
216 | 259 | ||
217 | 260 | ||
218 | 261 | ||
219 | @node MOVED FROM USER Checking the Installation | 262 | @node Checking the Installation |
220 | @section MOVED FROM USER Checking the Installation | 263 | @section Checking the Installation |
221 | @c %**end of header | 264 | |
222 | 265 | ||
223 | This section describes a quick, casual way to check if your GNUnet | 266 | This section describes a quick, casual way to check if your GNUnet |
224 | installation works. However, if it does not, we do not cover | 267 | installation works. However, if it does not, we do not cover |
@@ -240,7 +283,7 @@ as part of this handbook!. | |||
240 | @cindex GTK user interface | 283 | @cindex GTK user interface |
241 | @node gnunet-gtk | 284 | @node gnunet-gtk |
242 | @subsection gnunet-gtk | 285 | @subsection gnunet-gtk |
243 | @c %**end of header | 286 | |
244 | 287 | ||
245 | The @command{gnunet-gtk} package contains several graphical | 288 | The @command{gnunet-gtk} package contains several graphical |
246 | user interfaces for the respective GNUnet applications. | 289 | user interfaces for the respective GNUnet applications. |
@@ -251,17 +294,24 @@ Currently these interfaces cover: | |||
251 | @item Peer Information | 294 | @item Peer Information |
252 | @item GNU Name System | 295 | @item GNU Name System |
253 | @item File Sharing | 296 | @item File Sharing |
254 | @item Identity Management | ||
255 | @item Conversation | 297 | @item Conversation |
298 | @item Setup | ||
256 | @end itemize | 299 | @end itemize |
257 | 300 | ||
301 | Previously, many of these interfaces were combined into one application | ||
302 | called @command{gnunet-gtk}, with different tabs for each interface. This | ||
303 | combined application has been removed in version 0.11.0, but each of the | ||
304 | interfaces is still available as a standalone application | ||
305 | (@command{gnunet-statistics-gtk} for statistics, @command{gnunet-fs-gtk} | ||
306 | for filesharing, etc). | ||
307 | |||
258 | @node Statistics | 308 | @node Statistics |
259 | @subsection Statistics | 309 | @subsection Statistics |
260 | @c %**end of header | 310 | |
261 | 311 | ||
262 | We assume that you have started gnunet via @code{gnunet-arm} or via your | 312 | We assume that you have started gnunet via @code{gnunet-arm} or via your |
263 | system-provided method for starting services. | 313 | system-provided method for starting services. |
264 | First, you should launch GNUnet gtk. | 314 | First, you should launch GNUnet's graphical statistics interface. |
265 | You can do this from the command-line by typing | 315 | You can do this from the command-line by typing |
266 | 316 | ||
267 | @example | 317 | @example |
@@ -274,7 +324,7 @@ least if your peer has been running for more than a few seconds). The | |||
274 | lines indicate how many other peers your peer is connected to (via | 324 | lines indicate how many other peers your peer is connected to (via |
275 | different mechanisms) and how large the entire overlay network is | 325 | different mechanisms) and how large the entire overlay network is |
276 | currently estimated to be. The X-axis represents time (in seconds | 326 | currently estimated to be. The X-axis represents time (in seconds |
277 | since the start of @command{gnunet-gtk}). | 327 | since the start of @command{gnunet-statistics-gtk}). |
278 | 328 | ||
279 | You can click on "Traffic" to see information about the amount of | 329 | You can click on "Traffic" to see information about the amount of |
280 | bandwidth your peer has consumed, and on "Storage" to check the amount | 330 | bandwidth your peer has consumed, and on "Storage" to check the amount |
@@ -290,10 +340,10 @@ whatever it is you are looking at the Gtk+ interface describes a | |||
290 | 340 | ||
291 | @node Peer Information | 341 | @node Peer Information |
292 | @subsection Peer Information | 342 | @subsection Peer Information |
293 | @c %**end of header | ||
294 | 343 | ||
295 | First, you should launch the graphical user interface. You can do | 344 | |
296 | this from the command-line by typing | 345 | First, you should launch the peer information graphical user interface. |
346 | You can do this from the command-line by typing | ||
297 | 347 | ||
298 | @example | 348 | @example |
299 | $ gnunet-peerinfo-gtk | 349 | $ gnunet-peerinfo-gtk |
@@ -310,8 +360,8 @@ configuration. | |||
310 | 360 | ||
311 | @c NOTE: Inserted from Installation Handbook in original ``order'': | 361 | @c NOTE: Inserted from Installation Handbook in original ``order'': |
312 | @c FIXME: Move this to User Handbook. | 362 | @c FIXME: Move this to User Handbook. |
313 | @node MOVED FROM USER The graphical configuration interface | 363 | @node The graphical configuration interface |
314 | @section MOVED FROM USER The graphical configuration interface | 364 | @section The graphical configuration interface |
315 | 365 | ||
316 | If you also would like to use @command{gnunet-gtk} and | 366 | If you also would like to use @command{gnunet-gtk} and |
317 | @command{gnunet-setup} (highly recommended for beginners), do: | 367 | @command{gnunet-setup} (highly recommended for beginners), do: |
@@ -347,7 +397,7 @@ If you also would like to use @command{gnunet-gtk} and | |||
347 | * Configuring the GNUnet VPN:: | 397 | * Configuring the GNUnet VPN:: |
348 | * Bandwidth Configuration:: | 398 | * Bandwidth Configuration:: |
349 | * Configuring NAT:: | 399 | * Configuring NAT:: |
350 | * Peer configuration for distributions:: | 400 | * Peer configuration for distributors (e.g. Operating Systems):: |
351 | @end menu | 401 | @end menu |
352 | 402 | ||
353 | @node Configuring your peer | 403 | @node Configuring your peer |
@@ -358,7 +408,7 @@ This chapter will describe the various configuration options in GNUnet. | |||
358 | The easiest way to configure your peer is to use the | 408 | The easiest way to configure your peer is to use the |
359 | @command{gnunet-setup} tool. | 409 | @command{gnunet-setup} tool. |
360 | @command{gnunet-setup} is part of the @command{gnunet-gtk} | 410 | @command{gnunet-setup} is part of the @command{gnunet-gtk} |
361 | application. You might have to install it separately. | 411 | package. You might have to install it separately. |
362 | 412 | ||
363 | Many of the specific sections from this chapter actually are linked from | 413 | Many of the specific sections from this chapter actually are linked from |
364 | within @command{gnunet-setup} to help you while using the setup tool. | 414 | within @command{gnunet-setup} to help you while using the setup tool. |
@@ -837,7 +887,7 @@ a @code{gn090} table here, it probably works. | |||
837 | 887 | ||
838 | @node Configuring the datacache | 888 | @node Configuring the datacache |
839 | @subsection Configuring the datacache | 889 | @subsection Configuring the datacache |
840 | @c %**end of header | 890 | |
841 | 891 | ||
842 | The datacache is what GNUnet uses for storing temporary data. This data is | 892 | The datacache is what GNUnet uses for storing temporary data. This data is |
843 | expected to be wiped completely each time GNUnet is restarted (or the | 893 | expected to be wiped completely each time GNUnet is restarted (or the |
@@ -889,7 +939,8 @@ strength of the adversary). | |||
889 | @node Configuring logging | 939 | @node Configuring logging |
890 | @subsection Configuring logging | 940 | @subsection Configuring logging |
891 | 941 | ||
892 | Logging in GNUnet 0.9.0 is controlled via the "-L" and "-l" options. | 942 | Since version 0.9.0, logging in GNUnet is controlled via the |
943 | @code{-L} and @code{-l} options. | ||
893 | Using @code{-L}, a log level can be specified. With log level | 944 | Using @code{-L}, a log level can be specified. With log level |
894 | @code{ERROR} only serious errors are logged. | 945 | @code{ERROR} only serious errors are logged. |
895 | The default log level is @code{WARNING} which causes anything of | 946 | The default log level is @code{WARNING} which causes anything of |
@@ -1765,7 +1816,7 @@ The other options as shown on the gnunet-setup tool are: | |||
1765 | @node IPv4 address for interface | 1816 | @node IPv4 address for interface |
1766 | @subsubsection IPv4 address for interface | 1817 | @subsubsection IPv4 address for interface |
1767 | 1818 | ||
1768 | This is the IPv4 address the VPN interface will get. You should pick an | 1819 | This is the IPv4 address the VPN interface will get. You should pick a |
1769 | 'private' IPv4 network that is not yet in use for you system. For example, | 1820 | 'private' IPv4 network that is not yet in use for you system. For example, |
1770 | if you use @code{10.0.0.1/255.255.0.0} already, you might use | 1821 | if you use @code{10.0.0.1/255.255.0.0} already, you might use |
1771 | @code{10.1.0.1/255.255.0.0}. | 1822 | @code{10.1.0.1/255.255.0.0}. |
@@ -1920,29 +1971,29 @@ connect to NATed peers using autonomous NAT traversal, you need to check | |||
1920 | the "Enable connecting to NATed peers using ICMP method" box. | 1971 | the "Enable connecting to NATed peers using ICMP method" box. |
1921 | 1972 | ||
1922 | 1973 | ||
1923 | @node Peer configuration for distributions | 1974 | @node Peer configuration for distributors (e.g. Operating Systems) |
1924 | @subsection Peer configuration for distributions | 1975 | @subsection Peer configuration for distributors (e.g. Operating Systems) |
1925 | 1976 | ||
1926 | The "GNUNET_DATA_HOME" in "[path]" in @file{/etc/gnunet.conf} should be | 1977 | The "GNUNET_DATA_HOME" in "[path]" in @file{/etc/gnunet.conf} should be |
1927 | manually set to "/var/lib/gnunet/data/" as the default | 1978 | manually set to "/var/lib/gnunet/data/" as the default |
1928 | "~/.local/share/gnunet/" is probably not that appropriate in this case. | 1979 | "~/.local/share/gnunet/" is probably not that appropriate in this case. |
1929 | Similarly, distributions may consider pointing "GNUNET_RUNTIME_DIR" to | 1980 | Similarly, distributors may consider pointing "GNUNET_RUNTIME_DIR" to |
1930 | "/var/run/gnunet/" and "GNUNET_HOME" to "/var/lib/gnunet/". Also, should a | 1981 | "/var/run/gnunet/" and "GNUNET_HOME" to "/var/lib/gnunet/". Also, should a |
1931 | distribution decide to override system defaults, all of these changes | 1982 | distributor decide to override system defaults, all of these changes |
1932 | should be done in a custom @file{/etc/gnunet.conf} and not in the files | 1983 | should be done in a custom @file{/etc/gnunet.conf} and not in the files |
1933 | in the @file{config.d/} directory. | 1984 | in the @file{config.d/} directory. |
1934 | 1985 | ||
1935 | Given the proposed access permissions, the "gnunet-setup" tool must be | 1986 | Given the proposed access permissions, the "gnunet-setup" tool must be |
1936 | run as use "gnunet" (and with option "-c /etc/gnunet.conf" so that it | 1987 | run as use "gnunet" (and with option "-c /etc/gnunet.conf" so that it |
1937 | modifies the system configuration). As always, gnunet-setup should be run | 1988 | modifies the system configuration). As always, gnunet-setup should be run |
1938 | after the GNUnet peer was stopped using "gnunet-arm -e". Distributions | 1989 | after the GNUnet peer was stopped using "gnunet-arm -e". Distributors |
1939 | might want to include a wrapper for gnunet-setup that allows the | 1990 | might want to include a wrapper for gnunet-setup that allows the |
1940 | desktop-user to "sudo" (i.e. using gtksudo) to the "gnunet" user account | 1991 | desktop-user to "sudo" (i.e. using gtksudo) to the "gnunet" user account |
1941 | and then runs "gnunet-arm -e", "gnunet-setup" and "gnunet-arm -s" in | 1992 | and then runs "gnunet-arm -e", "gnunet-setup" and "gnunet-arm -s" in |
1942 | sequence. | 1993 | sequence. |
1943 | 1994 | ||
1944 | @node MOVED FROM USER Config Leftovers | 1995 | @node Config Leftovers |
1945 | @section MOVED FROM USER Config Leftovers | 1996 | @section Config Leftovers |
1946 | 1997 | ||
1947 | This section describes how to start a GNUnet peer. It assumes that you | 1998 | This section describes how to start a GNUnet peer. It assumes that you |
1948 | have already compiled and installed GNUnet and its' dependencies. | 1999 | have already compiled and installed GNUnet and its' dependencies. |
@@ -2201,7 +2252,7 @@ However, as TCP is generally less efficient and it is rarely the case | |||
2201 | that a single GNUnet peer is supposed to serve an entire local network, | 2252 | that a single GNUnet peer is supposed to serve an entire local network, |
2202 | the default configuration should disable TCP access to all GNUnet | 2253 | the default configuration should disable TCP access to all GNUnet |
2203 | services on systems with support for UNIX domain sockets. | 2254 | services on systems with support for UNIX domain sockets. |
2204 | As of GNUnet 0.9.2, configuration files with TCP access disabled should be | 2255 | Since GNUnet 0.9.2, configuration files with TCP access disabled should be |
2205 | generated by default. Users can re-enable TCP access to particular | 2256 | generated by default. Users can re-enable TCP access to particular |
2206 | services simply by specifying a non-zero port number in the section of | 2257 | services simply by specifying a non-zero port number in the section of |
2207 | the respective service. | 2258 | the respective service. |
diff --git a/doc/handbook/chapters/keyconcepts.texi b/doc/handbook/chapters/keyconcepts.texi index 829fed82e..4b49a7ffb 100644 --- a/doc/handbook/chapters/keyconcepts.texi +++ b/doc/handbook/chapters/keyconcepts.texi | |||
@@ -246,7 +246,7 @@ encryption as the link-encryption between the nodes. GNUnet has | |||
246 | encryption on the network layer (link encryption, confidentiality, | 246 | encryption on the network layer (link encryption, confidentiality, |
247 | authentication) and again on the application layer (provided | 247 | authentication) and again on the application layer (provided |
248 | by @command{gnunet-publish}, @command{gnunet-download}, | 248 | by @command{gnunet-publish}, @command{gnunet-download}, |
249 | @command{gnunet-search} and @command{gnunet-gtk}). | 249 | @command{gnunet-search} and @command{gnunet-fs-gtk}). |
250 | 250 | ||
251 | Refer to the following paper for more: | 251 | Refer to the following paper for more: |
252 | Christian Grothoff, Krista Grothoff, Tzvetan Horozov, | 252 | Christian Grothoff, Krista Grothoff, Tzvetan Horozov, |
diff --git a/doc/handbook/chapters/preface.texi b/doc/handbook/chapters/preface.texi index 386cefa6d..636458eeb 100644 --- a/doc/handbook/chapters/preface.texi +++ b/doc/handbook/chapters/preface.texi | |||
@@ -1,13 +1,17 @@ | |||
1 | @node Preface | 1 | @node Preface |
2 | @chapter Preface | 2 | @chapter Preface |
3 | 3 | ||
4 | This collection of manuals describes how to use GNUnet, a framework | 4 | @c FIXME: Do we have to mention that this is Free Software? |
5 | @c FIXME: where did 'Free Software' in this sentence fit before | ||
6 | @c FIXME: we changed it? | ||
7 | This collection of manuals describes GNUnet, a framework | ||
5 | for secure peer-to-peer networking with the high-level goal to provide | 8 | for secure peer-to-peer networking with the high-level goal to provide |
6 | a strong foundation Free Software for a global, distributed network | 9 | a strong foundation for a global, distributed network |
7 | that provides security and privacy. GNUnet in that sense aims to | 10 | that provides security and privacy. |
8 | replace the current Internet protocol stack. Along with an | 11 | GNUnet in that sense aims to replace the current Internet protocol stack. |
9 | application for secure publication of files, it has grown to include | 12 | Along with an application for secure publication of files, it has grown to |
10 | all kinds of basic applications for the foundation of a new Internet. | 13 | include all kinds of basic applications for the foundation of a new |
14 | Internet. | ||
11 | 15 | ||
12 | @menu | 16 | @menu |
13 | * About this book:: | 17 | * About this book:: |
@@ -22,47 +26,74 @@ all kinds of basic applications for the foundation of a new Internet. | |||
22 | 26 | ||
23 | The books (described as ``book'' or ``books'' in the following) | 27 | The books (described as ``book'' or ``books'' in the following) |
24 | bundled as the ``GNUnet Reference Manual'' are based on the historic | 28 | bundled as the ``GNUnet Reference Manual'' are based on the historic |
25 | work of all contributors to GNUnet's documentation. It is our hope | 29 | work of all contributors to previous documentation of GNUnet. |
30 | It is our hope | ||
26 | that the content is described in a way that does not require any | 31 | that the content is described in a way that does not require any |
27 | academic background, although some concepts will require further | 32 | academic background, although some concepts will require further |
28 | reading. | 33 | reading. |
29 | 34 | ||
30 | Our (long-term) goal with these books is to keep them self-contained. If | 35 | Our (long-term) goal with these books is to keep them |
31 | you see references to Wikipedia and other external sources (except for | 36 | self-contained. If you see references to Wikipedia and other external |
32 | our academic papers) it means that we are working on a solution to | 37 | sources (except for our academic papers) it means that we are working |
33 | describe the explanations found there which fits our use-case and licensing. | 38 | on a solution to describe the explanations found there which fits our |
34 | 39 | use-case and licensing. | |
35 | The first chapter (``Preface'') as well as the the second | 40 | |
36 | chapter (``Philosophy'') give an introduction to GNUnet as a project, | 41 | Previously the documentation was contained in Drupal books, on the |
37 | what GNUnet tries to achieve. | 42 | old website. This format was considered unmaintainable for the future, so |
43 | Texinfo was chosen. You might find old and very old sections in | ||
44 | here in addition to more recent content. It took a long time to | ||
45 | finish the move to Texinfo (from Drupal to LaTeX to wrong Texinfo | ||
46 | output dump to good Texinfo) and only recently (late 2018, early | ||
47 | 2019) content checking started. We apologize to the reader for | ||
48 | any inconvenience and hope you apply logic where bad advice from | ||
49 | 10 years ago can be found (pipe to sudo to install software is | ||
50 | one example). Patches (contributions) to this documentation are more | ||
51 | than welcome! | ||
52 | |||
53 | The first chapter (``Preface'') as well as the the second chapter | ||
54 | (``Philosophy'') give an introduction to GNUnet as a project, what | ||
55 | GNUnet tries to achieve. ``Key Concepts'' explains the key concepts | ||
56 | in GNUnet. | ||
57 | These three chapters are the most complete in the documentation. | ||
58 | They are followed by chapters which explain specific parts of | ||
59 | GNUnet (and need more work): | ||
60 | ``Installing GNUnet'', ``GNUnet Contributors Handbook'' and | ||
61 | ``GNUnet Developer Handbook''. | ||
38 | 62 | ||
39 | @node Contributing to this book | 63 | @node Contributing to this book |
40 | @section Contributing to this book | 64 | @section Contributing to this book |
41 | 65 | ||
66 | @c FIXME: There's a good amount of repetition here, we should | ||
67 | @c FIXME: fix this. | ||
42 | The GNUnet Reference Manual is a collective work produced by various | 68 | The GNUnet Reference Manual is a collective work produced by various |
43 | people throughout the years. The version you are reading is derived | 69 | people throughout the years. |
44 | from many individual efforts hosted on our website. This was a failed | 70 | |
45 | experiment, and with the conversion to Texinfo we hope to address this | 71 | The version you are reading is derived |
46 | in the longterm. Texinfo is the documentation language of the GNU project. | 72 | from many individual efforts hosted on one of our old websites. |
73 | In the end it was considered to be impractical to read by | ||
74 | those who required the information. | ||
75 | With the conversion to Texinfo --- the version you are reading | ||
76 | right now --- we hope to address this in the longterm. | ||
77 | Texinfo is the documentation language of the GNU project. | ||
78 | |||
47 | While it can be intimidating at first and look scary or complicated, | 79 | While it can be intimidating at first and look scary or complicated, |
48 | it is just another way to express text format instructions. We encourage | 80 | it is just another way to express text format instructions. |
49 | you to take this opportunity and learn about Texinfo, learn about GNUnet, | 81 | |
50 | and one word at a time we will arrive at a book which explains GNUnet in | 82 | We encourage you to take this opportunity and learn about Texinfo, |
51 | the least complicated way to you. Even when you don't want or can't learn | 83 | learn about GNUnet, and one word at a time we will arrive at a |
52 | Texinfo, you can contribute. Send us an Email or join our IRC chat room | 84 | book which explains GNUnet in the least complicated way to you. |
53 | on freenode and talk with us about the documentation (the prefered way | 85 | |
54 | to reach out is the mailinglist, since you can communicate with us | 86 | Even when you don't want to or can't learn Texinfo, you can contribute. |
55 | without waiting on someone in the chatroom). One way or another you | 87 | Send us an Email or join our IRC chat room on freenode and talk with |
56 | can help shape the understanding of GNUnet without the ability to read | 88 | us about the documentation (the prefered way to reach out is the |
57 | and understand its sourcecode. | 89 | mailinglist, since you can communicate with us without waiting on |
90 | someone in the chatroom). | ||
91 | One way or another you can help shape the understanding of GNUnet | ||
92 | without the ability to read and understand its sourcecode. | ||
58 | 93 | ||
59 | @node Introduction | 94 | @node Introduction |
60 | @section Introduction | 95 | @section Introduction |
61 | 96 | ||
62 | @c In less than 2 printed pages describe the history of GNUnet here, | ||
63 | @c what we have now and what's still missing (could be split into | ||
64 | @c subchapters). | ||
65 | |||
66 | GNUnet in its current version is the result of almost 20 years of work | 97 | GNUnet in its current version is the result of almost 20 years of work |
67 | from many contributors. So far, most contributions were made by | 98 | from many contributors. So far, most contributions were made by |
68 | volunteers or people paid to do fundamental research. At this stage, | 99 | volunteers or people paid to do fundamental research. At this stage, |
@@ -109,12 +140,17 @@ social network, resulting in a significant growth of the core team. | |||
109 | In 2013, we launched @uref{https://taler.net, GNU Taler} to address | 140 | In 2013, we launched @uref{https://taler.net, GNU Taler} to address |
110 | the challenge of convenient | 141 | the challenge of convenient |
111 | and privacy-preserving online payments. In 2015, the | 142 | and privacy-preserving online payments. In 2015, the |
112 | @c TODO: Maybe even markup for the E if it renders in most outputs. | 143 | @c XXX: It is not correct to refer to pEp as pEp stylistic, |
113 | @uref{https://pep.foundation/, pEp} (pretty Easy privacy) project | 144 | @c XXX: but the correct version would lead to problems with |
145 | @c XXX: some of our outputs and/or older versions of texinfo | ||
146 | @c XXX: and devices that display versions on consoles etc. | ||
147 | @c XXX: This is why we keep the pEp until proven that p(tripple bar)p | ||
148 | @c XXX: does not create broken outputs. | ||
149 | @uref{https://pep.foundation/, pretty Easy privacy} (pEp) project | ||
114 | announced that they will use GNUnet as the technology for their | 150 | announced that they will use GNUnet as the technology for their |
115 | meta-data protection layer, ultimately resulting in GNUnet e.V. | 151 | meta-data protection layer, ultimately resulting in GNUnet e.V. |
116 | entering into a formal long-term collaboration with the pEp | 152 | entering into a formal long-term collaboration with the pEp |
117 | foundation. In 2016, Taler Systems SA, a first startup using GNUnet | 153 | Foundation. In 2016, Taler Systems SA, a first startup using GNUnet |
118 | technology, was founded with support from the community. | 154 | technology, was founded with support from the community. |
119 | 155 | ||
120 | GNUnet is not merely a technical project, but also a political | 156 | GNUnet is not merely a technical project, but also a political |
@@ -131,7 +167,7 @@ Similarly its flaws are not limited to the protocol design. Thus, | |||
131 | technical excellence by itself will not suffice to create a better | 167 | technical excellence by itself will not suffice to create a better |
132 | network. We also need to build a community that is wise, humble and | 168 | network. We also need to build a community that is wise, humble and |
133 | has a sense of humor to achieve our goal to create a technical | 169 | has a sense of humor to achieve our goal to create a technical |
134 | foundation for a society we would like to live in. | 170 | foundation for a society we would like to live in. |
135 | 171 | ||
136 | 172 | ||
137 | @node Project governance | 173 | @node Project governance |
@@ -142,15 +178,12 @@ follows the governance model of a benevolent dictator. This means | |||
142 | that ultimately, the GNU project appoints the GNU maintainer and can | 178 | that ultimately, the GNU project appoints the GNU maintainer and can |
143 | overrule decisions made by the GNUnet maintainer. Similarly, the | 179 | overrule decisions made by the GNUnet maintainer. Similarly, the |
144 | GNUnet maintainer can overrule any decisions made by individual | 180 | GNUnet maintainer can overrule any decisions made by individual |
145 | @c TODO: Should we mention if this is just about GNUnet? Other projects | ||
146 | @c TODO: in GNU seem to have rare issues (GCC, the 2018 documentation | ||
147 | @c TODO: discussion. | ||
148 | developers. Still, in practice neither has happened in the last 20 | 181 | developers. Still, in practice neither has happened in the last 20 |
149 | years, and we hope to keep it that way. | 182 | years for GNUnet, and we hope to keep it that way. |
150 | 183 | ||
151 | @c TODO: Actually we are a Swiss association, or just a German association | 184 | @c TODO: Actually we are a Swiss association, or just a German association |
152 | @c TODO: with Swiss bylaws/Satzung? | 185 | @c TODO: with Swiss bylaws/Satzung? |
153 | @c TODO: Rewrite one of the 'GNUnet eV may also' sentences. | 186 | @c TODO: Rewrite one of the 'GNUnet eV may also' sentences? |
154 | The GNUnet project is supported by GNUnet e.V., a German association | 187 | The GNUnet project is supported by GNUnet e.V., a German association |
155 | where any developer can become a member. GNUnet e.V. serves as a | 188 | where any developer can become a member. GNUnet e.V. serves as a |
156 | legal entity to hold the copyrights to GNUnet. GNUnet e.V. may also | 189 | legal entity to hold the copyrights to GNUnet. GNUnet e.V. may also |
diff --git a/doc/handbook/chapters/user.texi b/doc/handbook/chapters/user.texi index 1300b2bb6..37c5849ab 100644 --- a/doc/handbook/chapters/user.texi +++ b/doc/handbook/chapters/user.texi | |||
@@ -1,6 +1,6 @@ | |||
1 | @node Using GNUnet | 1 | @node Using GNUnet |
2 | @chapter Using GNUnet | 2 | @chapter Using GNUnet |
3 | @c %**end of header | 3 | |
4 | 4 | ||
5 | This tutorial is supposed to give a first introduction for users | 5 | This tutorial is supposed to give a first introduction for users |
6 | trying to do something real with GNUnet. Installation and | 6 | trying to do something real with GNUnet. Installation and |
@@ -47,7 +47,7 @@ $ gnunet-arm -e | |||
47 | 47 | ||
48 | @node First steps - Using the GNU Name System | 48 | @node First steps - Using the GNU Name System |
49 | @section First steps - Using the GNU Name System | 49 | @section First steps - Using the GNU Name System |
50 | @c %**end of header | 50 | |
51 | 51 | ||
52 | @menu | 52 | @menu |
53 | * Preliminaries:: | 53 | * Preliminaries:: |
@@ -65,7 +65,7 @@ $ gnunet-arm -e | |||
65 | 65 | ||
66 | @node Preliminaries | 66 | @node Preliminaries |
67 | @subsection Preliminaries | 67 | @subsection Preliminaries |
68 | @c %**end of header | 68 | |
69 | 69 | ||
70 | ``.pin'' is a default zone which points to a zone managed by gnunet.org. | 70 | ``.pin'' is a default zone which points to a zone managed by gnunet.org. |
71 | Use @code{gnunet-config -s gns} to view the GNS configuration, including | 71 | Use @code{gnunet-config -s gns} to view the GNS configuration, including |
@@ -106,7 +106,7 @@ rules - GO0T87F9BPMF8NKD5A54L2AH1T0GRML539TPFSRMCEA98182QD30 | |||
106 | 106 | ||
107 | @node The GNS Tab | 107 | @node The GNS Tab |
108 | @subsection The GNS Tab | 108 | @subsection The GNS Tab |
109 | @c %**end of header | 109 | |
110 | 110 | ||
111 | Maintaing your zones is through the NAMESTORE service and is discussed | 111 | Maintaing your zones is through the NAMESTORE service and is discussed |
112 | here. You can manage your zone using @command{gnunet-identity} and | 112 | here. You can manage your zone using @command{gnunet-identity} and |
@@ -138,7 +138,7 @@ bottom of the window contains the existing entries in the selected zone. | |||
138 | 138 | ||
139 | @node Creating a Record | 139 | @node Creating a Record |
140 | @subsection Creating a Record | 140 | @subsection Creating a Record |
141 | @c %**end of header | 141 | |
142 | 142 | ||
143 | We will begin by creating a simple record in your master zone. | 143 | We will begin by creating a simple record in your master zone. |
144 | To do this, click on the text "<new name>" in the table. The field is | 144 | To do this, click on the text "<new name>" in the table. The field is |
@@ -168,7 +168,7 @@ to edit it later. | |||
168 | 168 | ||
169 | @node Resolving GNS records | 169 | @node Resolving GNS records |
170 | @subsection Resolving GNS records | 170 | @subsection Resolving GNS records |
171 | @c %**end of header | 171 | |
172 | 172 | ||
173 | Next, you should try resolving your own GNS records. The method we | 173 | Next, you should try resolving your own GNS records. The method we |
174 | found to be the most uncomplicated is to do this by explicitly | 174 | found to be the most uncomplicated is to do this by explicitly |
@@ -191,7 +191,7 @@ the application. | |||
191 | 191 | ||
192 | @node Integration with Browsers | 192 | @node Integration with Browsers |
193 | @subsection Integration with Browsers | 193 | @subsection Integration with Browsers |
194 | @c %**end of header | 194 | |
195 | 195 | ||
196 | While we recommend integrating GNS using the NSS module in the | 196 | While we recommend integrating GNS using the NSS module in the |
197 | GNU libc Name Service Switch, you can also integrate GNS | 197 | GNU libc Name Service Switch, you can also integrate GNS |
@@ -271,7 +271,7 @@ apt-get install texlive-full | |||
271 | 271 | ||
272 | @noindent | 272 | @noindent |
273 | Start creating a business card by clicking the "Copy" button | 273 | Start creating a business card by clicking the "Copy" button |
274 | in @command{gnunet-gtk}'s GNS tab. Next, you should start | 274 | in @command{gnunet-namestore-gtk}. Next, you should start |
275 | the @command{gnunet-bcd} program (in the terminal, on the command-line). | 275 | the @command{gnunet-bcd} program (in the terminal, on the command-line). |
276 | You do not need to pass any options, and please be not surprised if | 276 | You do not need to pass any options, and please be not surprised if |
277 | there is no output: | 277 | there is no output: |
@@ -286,7 +286,7 @@ where @code{gnunet-bcd} is running a Web server! | |||
286 | 286 | ||
287 | First, you might want to fill in the "GNS Public Key" field by | 287 | First, you might want to fill in the "GNS Public Key" field by |
288 | right-clicking and selecting "Paste", filling in the public key | 288 | right-clicking and selecting "Paste", filling in the public key |
289 | from the copy you made in @command{gnunet-gtk}. | 289 | from the copy you made in @command{gnunet-namestore-gtk}. |
290 | Then, fill in all of the other fields, including your @b{GNS NICKname}. | 290 | Then, fill in all of the other fields, including your @b{GNS NICKname}. |
291 | Adding a GPG fingerprint is optional. | 291 | Adding a GPG fingerprint is optional. |
292 | Once finished, click "Submit Query". | 292 | Once finished, click "Submit Query". |
@@ -302,7 +302,7 @@ You can now go back to the shell running @code{gnunet-bcd} and press | |||
302 | 302 | ||
303 | @node Be Social | 303 | @node Be Social |
304 | @subsection Be Social | 304 | @subsection Be Social |
305 | @c %**end of header | 305 | |
306 | 306 | ||
307 | Next, you should print out your business card and be social. | 307 | Next, you should print out your business card and be social. |
308 | Find a friend, help them install GNUnet and exchange business cards with | 308 | Find a friend, help them install GNUnet and exchange business cards with |
@@ -424,7 +424,7 @@ performed by using the @command{-p} option of @command{gnunet-revocation}. | |||
424 | 424 | ||
425 | @node What's Next? | 425 | @node What's Next? |
426 | @subsection What's Next? | 426 | @subsection What's Next? |
427 | @c %**end of header | 427 | |
428 | 428 | ||
429 | This may seem not like much of an application yet, but you have | 429 | This may seem not like much of an application yet, but you have |
430 | just been one of the first to perform a decentralized secure name | 430 | just been one of the first to perform a decentralized secure name |
@@ -443,7 +443,7 @@ using this new public key infrastructure. | |||
443 | @pindex gnunet-conservation-gtk | 443 | @pindex gnunet-conservation-gtk |
444 | @node First steps - Using GNUnet Conversation | 444 | @node First steps - Using GNUnet Conversation |
445 | @section First steps - Using GNUnet Conversation | 445 | @section First steps - Using GNUnet Conversation |
446 | @c %**end of header | 446 | |
447 | 447 | ||
448 | First, you should launch the graphical user interface. You can do | 448 | First, you should launch the graphical user interface. You can do |
449 | this from the command-line by typing | 449 | this from the command-line by typing |
@@ -459,7 +459,7 @@ $ gnunet-conversation-gtk | |||
459 | 459 | ||
460 | @node Testing your Audio Equipment | 460 | @node Testing your Audio Equipment |
461 | @subsection Testing your Audio Equipment | 461 | @subsection Testing your Audio Equipment |
462 | @c %**end of header | 462 | |
463 | 463 | ||
464 | First, you should use @code{gnunet-conversation-test} to check that your | 464 | First, you should use @code{gnunet-conversation-test} to check that your |
465 | microphone and speaker are working correctly. You will be prompted to | 465 | microphone and speaker are working correctly. You will be prompted to |
@@ -471,7 +471,7 @@ that the correct device is being associated with GNUnet's audio tools. | |||
471 | 471 | ||
472 | @node GNS Zones | 472 | @node GNS Zones |
473 | @subsection GNS Zones | 473 | @subsection GNS Zones |
474 | @c %**end of header | 474 | |
475 | 475 | ||
476 | @code{gnunet-conversation} uses GNS for addressing. This means that | 476 | @code{gnunet-conversation} uses GNS for addressing. This means that |
477 | you need to have a GNS zone created before using it. Information | 477 | you need to have a GNS zone created before using it. Information |
@@ -485,7 +485,7 @@ about how to create GNS zones can be found here. | |||
485 | 485 | ||
486 | @node Picking an Identity | 486 | @node Picking an Identity |
487 | @subsubsection Picking an Identity | 487 | @subsubsection Picking an Identity |
488 | @c %**end of header | 488 | |
489 | 489 | ||
490 | To make a call with @code{gnunet-conversation}, you first | 490 | To make a call with @code{gnunet-conversation}, you first |
491 | need to choose an identity. This identity is both the caller ID | 491 | need to choose an identity. This identity is both the caller ID |
@@ -542,7 +542,7 @@ manually. Save the record. | |||
542 | 542 | ||
543 | @node Calling somebody | 543 | @node Calling somebody |
544 | @subsubsection Calling somebody | 544 | @subsubsection Calling somebody |
545 | @c %**end of header | 545 | |
546 | 546 | ||
547 | Now you can call a buddy. Obviously, your buddy will have to have GNUnet | 547 | Now you can call a buddy. Obviously, your buddy will have to have GNUnet |
548 | installed and must have performed the same steps. Also, you must have | 548 | installed and must have performed the same steps. Also, you must have |
@@ -568,7 +568,7 @@ Either of you can end the call using @command{/cancel}. You can exit | |||
568 | 568 | ||
569 | @node First steps - Using the GNUnet VPN | 569 | @node First steps - Using the GNUnet VPN |
570 | @section First steps - Using the GNUnet VPN | 570 | @section First steps - Using the GNUnet VPN |
571 | @c %**end of header | 571 | |
572 | 572 | ||
573 | 573 | ||
574 | @menu | 574 | @menu |
@@ -581,7 +581,7 @@ Either of you can end the call using @command{/cancel}. You can exit | |||
581 | 581 | ||
582 | @node VPN Preliminaries | 582 | @node VPN Preliminaries |
583 | @subsection VPN Preliminaries | 583 | @subsection VPN Preliminaries |
584 | @c %**end of header | 584 | |
585 | 585 | ||
586 | To test the GNUnet VPN, we should first run a web server. | 586 | To test the GNUnet VPN, we should first run a web server. |
587 | The easiest way to do this is to just start @code{gnunet-bcd}, | 587 | The easiest way to do this is to just start @code{gnunet-bcd}, |
@@ -622,7 +622,7 @@ to install the NSS plugins in the proper location. | |||
622 | 622 | ||
623 | @node GNUnet-Exit configuration | 623 | @node GNUnet-Exit configuration |
624 | @subsection GNUnet-Exit configuration | 624 | @subsection GNUnet-Exit configuration |
625 | @c %**end of header | 625 | |
626 | 626 | ||
627 | Stop your peer (as user @code{gnunet}, run @command{gnunet-arm -e}) and | 627 | Stop your peer (as user @code{gnunet}, run @command{gnunet-arm -e}) and |
628 | run @command{gnunet-setup}. In @command{gnunet-setup}, make sure to | 628 | run @command{gnunet-setup}. In @command{gnunet-setup}, make sure to |
@@ -638,10 +638,10 @@ Now exit @command{gnunet-setup} and restart your peer | |||
638 | 638 | ||
639 | @node GNS configuration | 639 | @node GNS configuration |
640 | @subsection GNS configuration | 640 | @subsection GNS configuration |
641 | @c %**end of header | 641 | |
642 | 642 | ||
643 | Now, using your normal user (not the @code{gnunet} system user), run | 643 | Now, using your normal user (not the @code{gnunet} system user), run |
644 | @command{gnunet-gtk}. Select the GNS icon and add a new label www in your | 644 | @command{gnunet-namestore-gtk}. Add a new label www in your |
645 | master zone. For the record type, select @code{VPN}. You should then | 645 | master zone. For the record type, select @code{VPN}. You should then |
646 | see the VPN dialog: | 646 | see the VPN dialog: |
647 | 647 | ||
@@ -654,11 +654,11 @@ identifier that we used in the Exit setup earlier, so here supply "bcd". | |||
654 | If you want others to be able to use the service, you should probably make | 654 | If you want others to be able to use the service, you should probably make |
655 | the record public. For non-public services, you should use a passphrase | 655 | the record public. For non-public services, you should use a passphrase |
656 | instead of the string "bcd". Save the record and | 656 | instead of the string "bcd". Save the record and |
657 | exit @command{gnunet-gtk}. | 657 | exit @command{gnunet-namestore-gtk}. |
658 | 658 | ||
659 | @node Accessing the service | 659 | @node Accessing the service |
660 | @subsection Accessing the service | 660 | @subsection Accessing the service |
661 | @c %**end of header | 661 | |
662 | 662 | ||
663 | You should now be able to access your webserver. Type in: | 663 | You should now be able to access your webserver. Type in: |
664 | 664 | ||
@@ -681,7 +681,7 @@ your business card. | |||
681 | 681 | ||
682 | @node Using a Browser | 682 | @node Using a Browser |
683 | @subsection Using a Browser | 683 | @subsection Using a Browser |
684 | @c %**end of header | 684 | |
685 | 685 | ||
686 | Sadly, modern browsers tend to bypass the Name Services Switch and | 686 | Sadly, modern browsers tend to bypass the Name Services Switch and |
687 | attempt DNS resolution directly. You can either run | 687 | attempt DNS resolution directly. You can either run |
@@ -693,7 +693,7 @@ using the HTTP proxy with Chrome does work. | |||
693 | 693 | ||
694 | @node File-sharing | 694 | @node File-sharing |
695 | @section File-sharing | 695 | @section File-sharing |
696 | @c %**end of header | 696 | |
697 | 697 | ||
698 | This chapter documents the GNUnet file-sharing application. The original | 698 | This chapter documents the GNUnet file-sharing application. The original |
699 | file-sharing implementation for GNUnet was designed to provide | 699 | file-sharing implementation for GNUnet was designed to provide |
@@ -726,7 +726,7 @@ files. | |||
726 | 726 | ||
727 | @node fs-Searching | 727 | @node fs-Searching |
728 | @subsection Searching | 728 | @subsection Searching |
729 | @c %**end of header | 729 | |
730 | 730 | ||
731 | The command @command{gnunet-search} can be used to search | 731 | The command @command{gnunet-search} can be used to search |
732 | for content on GNUnet. The format is: | 732 | for content on GNUnet. The format is: |
@@ -784,7 +784,7 @@ the file in bytes. | |||
784 | 784 | ||
785 | @node fs-Downloading | 785 | @node fs-Downloading |
786 | @subsection Downloading | 786 | @subsection Downloading |
787 | @c %**end of header | 787 | |
788 | 788 | ||
789 | In order to download a file, you need the whole line returned by | 789 | In order to download a file, you need the whole line returned by |
790 | @command{gnunet-search}. | 790 | @command{gnunet-search}. |
@@ -823,7 +823,7 @@ current number of bytes downloaded whenever new data was received. | |||
823 | 823 | ||
824 | @node fs-Publishing | 824 | @node fs-Publishing |
825 | @subsection Publishing | 825 | @subsection Publishing |
826 | @c %**end of header | 826 | |
827 | 827 | ||
828 | The command @command{gnunet-publish} can be used to add content | 828 | The command @command{gnunet-publish} can be used to add content |
829 | to the network. The basic format of the command is | 829 | to the network. The basic format of the command is |
@@ -844,7 +844,7 @@ $ gnunet-publish -m "description:GNU License" -k gpl -k test -m "mimetype:text/p | |||
844 | 844 | ||
845 | @node Important command-line options | 845 | @node Important command-line options |
846 | @subsubsection Important command-line options | 846 | @subsubsection Important command-line options |
847 | @c %**end of header | 847 | |
848 | 848 | ||
849 | The option @code{-k} is used to specify keywords for the file that | 849 | The option @code{-k} is used to specify keywords for the file that |
850 | should be inserted. You can supply any number of keywords, | 850 | should be inserted. You can supply any number of keywords, |
@@ -871,7 +871,7 @@ man gnunet-publish | |||
871 | 871 | ||
872 | @node Indexing vs. Inserting | 872 | @node Indexing vs. Inserting |
873 | @subsubsection Indexing vs Inserting | 873 | @subsubsection Indexing vs Inserting |
874 | @c %**end of header | 874 | |
875 | 875 | ||
876 | By default, GNUnet indexes a file instead of making a full copy. | 876 | By default, GNUnet indexes a file instead of making a full copy. |
877 | This is much more efficient, but requires the file to stay unaltered | 877 | This is much more efficient, but requires the file to stay unaltered |
@@ -907,7 +907,7 @@ able to crack the encryption (e.g. by guessing the keyword. | |||
907 | 907 | ||
908 | @node fs-Concepts | 908 | @node fs-Concepts |
909 | @subsection Concepts | 909 | @subsection Concepts |
910 | @c %**end of header | 910 | |
911 | 911 | ||
912 | For better results with filesharing it is useful to understand the | 912 | For better results with filesharing it is useful to understand the |
913 | following concepts. | 913 | following concepts. |
@@ -936,7 +936,7 @@ concepts that are used to achieve these goals. | |||
936 | 936 | ||
937 | @node Files | 937 | @node Files |
938 | @subsubsection Files | 938 | @subsubsection Files |
939 | @c %**end of header | 939 | |
940 | 940 | ||
941 | A file in GNUnet is just a sequence of bytes. Any file-format is allowed | 941 | A file in GNUnet is just a sequence of bytes. Any file-format is allowed |
942 | and the maximum file size is theoretically @math{2^64 - 1} bytes, except | 942 | and the maximum file size is theoretically @math{2^64 - 1} bytes, except |
@@ -946,7 +946,7 @@ using GNU libextractor to obtain keywords. | |||
946 | 946 | ||
947 | @node Keywords | 947 | @node Keywords |
948 | @subsubsection Keywords | 948 | @subsubsection Keywords |
949 | @c %**end of header | 949 | |
950 | 950 | ||
951 | Keywords are the most simple mechanism to find files on GNUnet. | 951 | Keywords are the most simple mechanism to find files on GNUnet. |
952 | Keywords are @strong{case-sensitive} and the search string | 952 | Keywords are @strong{case-sensitive} and the search string |
@@ -963,7 +963,7 @@ request. | |||
963 | 963 | ||
964 | @node Directories | 964 | @node Directories |
965 | @subsubsection Directories | 965 | @subsubsection Directories |
966 | @c %**end of header | 966 | |
967 | 967 | ||
968 | A directory in GNUnet is a list of file identifiers with meta data. | 968 | A directory in GNUnet is a list of file identifiers with meta data. |
969 | The file identifiers provide sufficient information about the files | 969 | The file identifiers provide sufficient information about the files |
@@ -986,7 +986,7 @@ other meta information, and possibly even the full original file | |||
986 | 986 | ||
987 | @node Pseudonyms | 987 | @node Pseudonyms |
988 | @subsubsection Pseudonyms | 988 | @subsubsection Pseudonyms |
989 | @c %**end of header | 989 | |
990 | 990 | ||
991 | @b{Please note that the text in this subsection is outdated and needs} | 991 | @b{Please note that the text in this subsection is outdated and needs} |
992 | @b{to be rewritten for version 0.10!} | 992 | @b{to be rewritten for version 0.10!} |
@@ -1005,7 +1005,7 @@ to copy around). | |||
1005 | 1005 | ||
1006 | @node Namespaces | 1006 | @node Namespaces |
1007 | @subsubsection Namespaces | 1007 | @subsubsection Namespaces |
1008 | @c %**end of header | 1008 | |
1009 | 1009 | ||
1010 | @b{Please note that the text in this subsection is outdated and needs} | 1010 | @b{Please note that the text in this subsection is outdated and needs} |
1011 | @b{to be rewritten for version 0.10!} | 1011 | @b{to be rewritten for version 0.10!} |
@@ -1020,7 +1020,7 @@ same entity (which does not have to be the same person). | |||
1020 | 1020 | ||
1021 | @node Advertisements | 1021 | @node Advertisements |
1022 | @subsubsection Advertisements | 1022 | @subsubsection Advertisements |
1023 | @c %**end of header | 1023 | |
1024 | 1024 | ||
1025 | @b{Please note that the text in this subsection is outdated and needs} | 1025 | @b{Please note that the text in this subsection is outdated and needs} |
1026 | @b{to be rewritten for version 0.10!} | 1026 | @b{to be rewritten for version 0.10!} |
@@ -1045,7 +1045,7 @@ confusion. | |||
1045 | 1045 | ||
1046 | @node Anonymity level | 1046 | @node Anonymity level |
1047 | @subsubsection Anonymity level | 1047 | @subsubsection Anonymity level |
1048 | @c %**end of header | 1048 | |
1049 | 1049 | ||
1050 | The anonymity level determines how hard it should be for an adversary to | 1050 | The anonymity level determines how hard it should be for an adversary to |
1051 | determine the identity of the publisher or the searcher/downloader. An | 1051 | determine the identity of the publisher or the searcher/downloader. An |
@@ -1059,7 +1059,7 @@ it can also significantly hurt performance. | |||
1059 | 1059 | ||
1060 | @node Content Priority | 1060 | @node Content Priority |
1061 | @subsubsection Content Priority | 1061 | @subsubsection Content Priority |
1062 | @c %**end of header | 1062 | |
1063 | 1063 | ||
1064 | Depending on the peer's configuration, GNUnet peers migrate content | 1064 | Depending on the peer's configuration, GNUnet peers migrate content |
1065 | between peers. Content in this sense are individual blocks of a file, | 1065 | between peers. Content in this sense are individual blocks of a file, |
@@ -1076,7 +1076,7 @@ when the block was published initially. | |||
1076 | 1076 | ||
1077 | @node Replication | 1077 | @node Replication |
1078 | @subsubsection Replication | 1078 | @subsubsection Replication |
1079 | @c %**end of header | 1079 | |
1080 | 1080 | ||
1081 | When peers migrate content to other systems, the replication level | 1081 | When peers migrate content to other systems, the replication level |
1082 | of a block is used to decide which blocks need to be migrated most | 1082 | of a block is used to decide which blocks need to be migrated most |
@@ -1088,7 +1088,7 @@ selection is simply random. | |||
1088 | 1088 | ||
1089 | @node Namespace Management | 1089 | @node Namespace Management |
1090 | @subsection Namespace Management | 1090 | @subsection Namespace Management |
1091 | @c %**end of header | 1091 | |
1092 | 1092 | ||
1093 | @b{Please note that the text in this subsection is outdated and needs} | 1093 | @b{Please note that the text in this subsection is outdated and needs} |
1094 | @b{to be rewritten for version 0.10!} | 1094 | @b{to be rewritten for version 0.10!} |
@@ -1108,7 +1108,7 @@ lists all locally available pseudonyms. | |||
1108 | 1108 | ||
1109 | @node Creating Pseudonyms | 1109 | @node Creating Pseudonyms |
1110 | @subsubsection Creating Pseudonyms | 1110 | @subsubsection Creating Pseudonyms |
1111 | @c %**end of header | 1111 | |
1112 | 1112 | ||
1113 | @b{Please note that the text in this subsection is outdated and needs} | 1113 | @b{Please note that the text in this subsection is outdated and needs} |
1114 | @b{to be rewritten for version 0.10!} | 1114 | @b{to be rewritten for version 0.10!} |
@@ -1123,7 +1123,7 @@ used. | |||
1123 | 1123 | ||
1124 | @node Deleting Pseudonyms | 1124 | @node Deleting Pseudonyms |
1125 | @subsubsection Deleting Pseudonyms | 1125 | @subsubsection Deleting Pseudonyms |
1126 | @c %**end of header | 1126 | |
1127 | 1127 | ||
1128 | @b{Please note that the text in this subsection is outdated and needs} | 1128 | @b{Please note that the text in this subsection is outdated and needs} |
1129 | @b{to be rewritten for version 0.10!} | 1129 | @b{to be rewritten for version 0.10!} |
@@ -1137,7 +1137,7 @@ unavailable. | |||
1137 | 1137 | ||
1138 | @node Advertising namespaces | 1138 | @node Advertising namespaces |
1139 | @subsubsection Advertising namespaces | 1139 | @subsubsection Advertising namespaces |
1140 | @c %**end of header | 1140 | |
1141 | 1141 | ||
1142 | @b{Please note that the text in this subsection is outdated and needs} | 1142 | @b{Please note that the text in this subsection is outdated and needs} |
1143 | @b{to be rewritten for version 0.10!} | 1143 | @b{to be rewritten for version 0.10!} |
@@ -1157,7 +1157,7 @@ the quality of the content found in it. | |||
1157 | 1157 | ||
1158 | @node Namespace names | 1158 | @node Namespace names |
1159 | @subsubsection Namespace names | 1159 | @subsubsection Namespace names |
1160 | @c %**end of header | 1160 | |
1161 | 1161 | ||
1162 | @b{Please note that the text in this subsection is outdated and needs} | 1162 | @b{Please note that the text in this subsection is outdated and needs} |
1163 | @b{to be rewritten for version 0.10!} | 1163 | @b{to be rewritten for version 0.10!} |
@@ -1172,7 +1172,7 @@ to the NICKNAME to get a unique identifier. | |||
1172 | 1172 | ||
1173 | @node Namespace root | 1173 | @node Namespace root |
1174 | @subsubsection Namespace root | 1174 | @subsubsection Namespace root |
1175 | @c %**end of header | 1175 | |
1176 | 1176 | ||
1177 | @b{Please note that the text in this subsection is outdated and needs} | 1177 | @b{Please note that the text in this subsection is outdated and needs} |
1178 | @b{to be rewritten for version 0.10!} | 1178 | @b{to be rewritten for version 0.10!} |
@@ -1185,7 +1185,7 @@ entry point to the content of the namespace. | |||
1185 | 1185 | ||
1186 | @node File-Sharing URIs | 1186 | @node File-Sharing URIs |
1187 | @subsection File-Sharing URIs | 1187 | @subsection File-Sharing URIs |
1188 | @c %**end of header | 1188 | |
1189 | 1189 | ||
1190 | GNUnet (currently) uses four different types of URIs for | 1190 | GNUnet (currently) uses four different types of URIs for |
1191 | file-sharing. They all begin with "gnunet://fs/". | 1191 | file-sharing. They all begin with "gnunet://fs/". |
@@ -1207,7 +1207,7 @@ into two OR-ed keywords 'foo' and 'bar', not into '"foo bar"'. | |||
1207 | 1207 | ||
1208 | @node Encoding of hash values in URIs | 1208 | @node Encoding of hash values in URIs |
1209 | @subsubsection Encoding of hash values in URIs | 1209 | @subsubsection Encoding of hash values in URIs |
1210 | @c %**end of header | 1210 | |
1211 | 1211 | ||
1212 | Most URIs include some hash values. Hashes are encoded using | 1212 | Most URIs include some hash values. Hashes are encoded using |
1213 | base32hex (RFC 2938). | 1213 | base32hex (RFC 2938). |
@@ -1215,7 +1215,7 @@ base32hex (RFC 2938). | |||
1215 | @cindex chk-uri | 1215 | @cindex chk-uri |
1216 | @node Content Hash Key (chk) | 1216 | @node Content Hash Key (chk) |
1217 | @subsubsection Content Hash Key (chk) | 1217 | @subsubsection Content Hash Key (chk) |
1218 | @c %**end of header | 1218 | |
1219 | 1219 | ||
1220 | A chk-URI is used to (uniquely) identify a file or directory | 1220 | A chk-URI is used to (uniquely) identify a file or directory |
1221 | and to allow peers to download the file. Files are stored in | 1221 | and to allow peers to download the file. Files are stored in |
@@ -1232,7 +1232,7 @@ of the encrypted block). | |||
1232 | @cindex loc-uri | 1232 | @cindex loc-uri |
1233 | @node Location identifiers (loc) | 1233 | @node Location identifiers (loc) |
1234 | @subsubsection Location identifiers (loc) | 1234 | @subsubsection Location identifiers (loc) |
1235 | @c %**end of header | 1235 | |
1236 | 1236 | ||
1237 | For non-anonymous file-sharing, loc-URIs are used to specify which | 1237 | For non-anonymous file-sharing, loc-URIs are used to specify which |
1238 | peer is offering the data (in addition to specifying all of the | 1238 | peer is offering the data (in addition to specifying all of the |
@@ -1248,7 +1248,7 @@ base32hex) and EXPTIME specifies when the signature expires | |||
1248 | @cindex ksk-uri | 1248 | @cindex ksk-uri |
1249 | @node Keyword queries (ksk) | 1249 | @node Keyword queries (ksk) |
1250 | @subsubsection Keyword queries (ksk) | 1250 | @subsubsection Keyword queries (ksk) |
1251 | @c %**end of header | 1251 | |
1252 | 1252 | ||
1253 | A keyword-URI is used to specify that the desired operation | 1253 | A keyword-URI is used to specify that the desired operation |
1254 | is the search using a particular keyword. The format is simply | 1254 | is the search using a particular keyword. The format is simply |
@@ -1263,7 +1263,7 @@ Furthermore they must not contain '++'. | |||
1263 | @cindex sks-uri | 1263 | @cindex sks-uri |
1264 | @node Namespace content (sks) | 1264 | @node Namespace content (sks) |
1265 | @subsubsection Namespace content (sks) | 1265 | @subsubsection Namespace content (sks) |
1266 | @c %**end of header | 1266 | |
1267 | 1267 | ||
1268 | @b{Please note that the text in this subsection is outdated and needs} | 1268 | @b{Please note that the text in this subsection is outdated and needs} |
1269 | @b{to be rewritten for version 0.10!} | 1269 | @b{to be rewritten for version 0.10!} |
@@ -1298,7 +1298,7 @@ looking for for testing, we need to begin by publishing a file. | |||
1298 | 1298 | ||
1299 | @node gtk-Publishing | 1299 | @node gtk-Publishing |
1300 | @subsubsection Publishing | 1300 | @subsubsection Publishing |
1301 | @c %**end of header | 1301 | |
1302 | 1302 | ||
1303 | To publish a file, select "File Sharing" in the menu bar just below the | 1303 | To publish a file, select "File Sharing" in the menu bar just below the |
1304 | "Statistics" icon, and then select "Publish" from the menu. | 1304 | "Statistics" icon, and then select "Publish" from the menu. |
@@ -1361,7 +1361,7 @@ with progress indicators): | |||
1361 | 1361 | ||
1362 | @node gtk-Searching | 1362 | @node gtk-Searching |
1363 | @subsubsection Searching | 1363 | @subsubsection Searching |
1364 | @c %**end of header | 1364 | |
1365 | 1365 | ||
1366 | Below the menu bar, there are four entry widges labeled "Namespace", | 1366 | Below the menu bar, there are four entry widges labeled "Namespace", |
1367 | "Keywords", "Anonymity" and "Mime-type" (from left to right). These | 1367 | "Keywords", "Anonymity" and "Mime-type" (from left to right). These |
@@ -1386,7 +1386,7 @@ a little area for downloading appears. | |||
1386 | 1386 | ||
1387 | @node gtk-Downloading | 1387 | @node gtk-Downloading |
1388 | @subsubsection Downloading | 1388 | @subsubsection Downloading |
1389 | @c %**end of header | 1389 | |
1390 | 1390 | ||
1391 | In the downloading area, you can select the target directory (default is | 1391 | In the downloading area, you can select the target directory (default is |
1392 | "Downloads") and specify the desired filename (by default the filename it | 1392 | "Downloads") and specify the desired filename (by default the filename it |
@@ -1413,7 +1413,7 @@ That's it, you now know the basics for file-sharing with GNUnet! | |||
1413 | 1413 | ||
1414 | @node The GNU Name System | 1414 | @node The GNU Name System |
1415 | @section The GNU Name System | 1415 | @section The GNU Name System |
1416 | @c %**end of header | 1416 | |
1417 | 1417 | ||
1418 | 1418 | ||
1419 | The GNU Name System (GNS) is secure and decentralized naming system. | 1419 | The GNU Name System (GNS) is secure and decentralized naming system. |
@@ -1915,8 +1915,8 @@ Ascension | |||
1915 | Usage: | 1915 | Usage: |
1916 | ascension <domain> [-d] [-p] | 1916 | ascension <domain> [-d] [-p] |
1917 | ascension <domain> <port> [-d] [-p] | 1917 | ascension <domain> <port> [-d] [-p] |
1918 | ascension <domain> -ns <transferns> [-d] [-p] | 1918 | ascension <domain> -n <transferns> [-d] [-p] |
1919 | ascension <domain> -ns <transferns> <port> [-d] [-p] | 1919 | ascension <domain> -n <transferns> <port> [-d] [-p] |
1920 | ascension -p | --public | 1920 | ascension -p | --public |
1921 | ascension -h | --help | 1921 | ascension -h | --help |
1922 | ascension -v | --version | 1922 | ascension -v | --version |
@@ -1940,7 +1940,7 @@ To migrate the Syrian top level domain - one of the few top level domains that | |||
1940 | still supports zone transfers - into GNS use the following command: | 1940 | still supports zone transfers - into GNS use the following command: |
1941 | 1941 | ||
1942 | @example | 1942 | @example |
1943 | $ ascension sy. -ns ns1.tld.sy. -p | 1943 | $ ascension sy. -n ns1.tld.sy. -p |
1944 | @end example | 1944 | @end example |
1945 | 1945 | ||
1946 | The -p flag will tell GNS to put these records on the DHT so that other users | 1946 | The -p flag will tell GNS to put these records on the DHT so that other users |
@@ -1982,10 +1982,14 @@ and enable the service, so that your zone is migrated automatically. | |||
1982 | @section reclaimID Identity Provider | 1982 | @section reclaimID Identity Provider |
1983 | 1983 | ||
1984 | The reclaimID Identity Provider (IdP) is a decentralized IdP service. | 1984 | The reclaimID Identity Provider (IdP) is a decentralized IdP service. |
1985 | It allows its users to manage and authorize third parties to access their identity attributes such as email or shipping addresses. | 1985 | It allows its users to manage and authorize third parties to access |
1986 | 1986 | their identity attributes such as email or shipping addresses. | |
1987 | It basically mimics the concepts of centralized IdPs, such as those offered by Google or Facebook. | 1987 | |
1988 | Like other IdPs, reclaimID features an (optional) OpenID-Connect 1.0-compliant protocol layer that can be used for websites to integrate reclaimID as an Identity Provider with little effort. | 1988 | It basically mimics the concepts of centralized IdPs, such as those |
1989 | offered by Google or Facebook. | ||
1990 | Like other IdPs, reclaimID features an (optional) OpenID-Connect | ||
1991 | 1.0-compliant protocol layer that can be used for websites to | ||
1992 | integrate reclaimID as an Identity Provider with little effort. | ||
1989 | 1993 | ||
1990 | @menu | 1994 | @menu |
1991 | * Managing Attributes:: | 1995 | * Managing Attributes:: |
diff --git a/doc/handbook/gnunet.texi b/doc/handbook/gnunet.texi index a479d2059..75a9f1f2b 100644 --- a/doc/handbook/gnunet.texi +++ b/doc/handbook/gnunet.texi | |||
@@ -14,7 +14,7 @@ | |||
14 | @c @set OPENPGP-SIGNING-KEY-ID | 14 | @c @set OPENPGP-SIGNING-KEY-ID |
15 | 15 | ||
16 | @copying | 16 | @copying |
17 | Copyright @copyright{} 2001-2018 GNUnet e.V. | 17 | Copyright @copyright{} 2001-2019 GNUnet e.V. |
18 | 18 | ||
19 | Permission is granted to copy, distribute and/or modify this document | 19 | Permission is granted to copy, distribute and/or modify this document |
20 | under the terms of the GNU Free Documentation License, Version 1.3 or | 20 | under the terms of the GNU Free Documentation License, Version 1.3 or |
@@ -72,11 +72,11 @@ This document is the Reference Manual for GNUnet version @value{VERSION}. | |||
72 | 72 | ||
73 | @menu | 73 | @menu |
74 | 74 | ||
75 | * Preface:: Chapter 0 | 75 | * Preface:: Preface |
76 | * Philosophy:: About GNUnet | 76 | * Philosophy:: About GNUnet |
77 | * Key Concepts:: Key concepts of GNUnet | 77 | * Key Concepts:: Key concepts of GNUnet |
78 | @c * Vocabulary:: Vocabulary | 78 | @c * Vocabulary:: Vocabulary |
79 | * Installing GNUnet:: Installing GNUnet | 79 | * Installing GNUnet:: Installing GNUnet |
80 | * Using GNUnet:: Using GNUnet | 80 | * Using GNUnet:: Using GNUnet |
81 | @c * Configuration Handbook:: Configuring GNUnet | 81 | @c * Configuration Handbook:: Configuring GNUnet |
82 | * GNUnet Contributors Handbook:: Contributing to GNUnet | 82 | * GNUnet Contributors Handbook:: Contributing to GNUnet |
@@ -122,9 +122,9 @@ Installing GNUnet | |||
122 | * Create @code{gnunet} user and group:: | 122 | * Create @code{gnunet} user and group:: |
123 | * Preparing and Compiling the Source Code:: | 123 | * Preparing and Compiling the Source Code:: |
124 | * Installation:: | 124 | * Installation:: |
125 | * MOVED FROM USER Checking the Installation:: | 125 | * Checking the Installation:: |
126 | * MOVED FROM USER The graphical configuration interface:: | 126 | * The graphical configuration interface:: |
127 | * MOVED FROM USER Config Leftovers:: | 127 | * Config Leftovers:: |
128 | 128 | ||
129 | Using GNUnet | 129 | Using GNUnet |
130 | 130 | ||
diff --git a/doc/handbook/manual.css b/doc/handbook/manual.css index 404525dc2..0fe08b83c 100644 --- a/doc/handbook/manual.css +++ b/doc/handbook/manual.css | |||
@@ -1,6 +1,6 @@ | |||
1 | /* Style-sheet to use for manuals (copied from Emacs) */ | 1 | /* Style-sheet to use for manuals (copied from Emacs) */ |
2 | 2 | ||
3 | @import url('/style.css'); | 3 | @import url('style.css'); |
4 | 4 | ||
5 | /* makeinfo 6.5 converts @quotation to <blockquote>. Highlight them. */ | 5 | /* makeinfo 6.5 converts @quotation to <blockquote>. Highlight them. */ |
6 | blockquote { | 6 | blockquote { |
diff --git a/doc/handbook/run-gendocs.sh b/doc/handbook/run-gendocs.sh index 5e60a2d0f..e52ae0d23 100755 --- a/doc/handbook/run-gendocs.sh +++ b/doc/handbook/run-gendocs.sh | |||
@@ -2,7 +2,7 @@ | |||
2 | 2 | ||
3 | make version.texi/replacement | 3 | make version.texi/replacement |
4 | 4 | ||
5 | ./gendocs.sh --email gnunet-developers@gnu.org gnunet-c-tutorial "GNUnet C Tutorial" -o "manual/gnunet-c-tutorial" | 5 | #./gendocs.sh --email gnunet-developers@gnu.org gnunet-c-tutorial "GNUnet C Tutorial" -o "manual/gnunet-c-tutorial" |
6 | #cd manual | 6 | #cd manual |
7 | #mkdir gnunet-c-tutorial | 7 | #mkdir gnunet-c-tutorial |
8 | #mv * gnunet-c-tutorial/ | 8 | #mv * gnunet-c-tutorial/ |
diff --git a/doc/handbook/style.css b/doc/handbook/style.css index 0c4525437..e5271197b 100644 --- a/doc/handbook/style.css +++ b/doc/handbook/style.css | |||
@@ -1,6 +1,6 @@ | |||
1 | /* This stylesheet is used by manuals and a few older resources. */ | 1 | /* This stylesheet is used by manuals and a few older resources. */ |
2 | 2 | ||
3 | @import url('/reset.css'); | 3 | @import url('reset.css'); |
4 | 4 | ||
5 | 5 | ||
6 | /*** PAGE LAYOUT ***/ | 6 | /*** PAGE LAYOUT ***/ |
diff --git a/doc/man/.gitignore b/doc/man/.gitignore index ffd69e11b..38ed67872 100644 --- a/doc/man/.gitignore +++ b/doc/man/.gitignore | |||
@@ -1 +1,5 @@ | |||
1 | gnunet.conf.5 | 1 | gnunet.conf.5 |
2 | groff_lint.log | ||
3 | *.html | ||
4 | gnunet-c-tutorial.7 | ||
5 | gnunet-documentation.7 | ||
diff --git a/doc/man/Makefile.am b/doc/man/Makefile.am index 53d97b6b9..509e33be7 100644 --- a/doc/man/Makefile.am +++ b/doc/man/Makefile.am | |||
@@ -5,7 +5,23 @@ do_subst = $(SED) -e 's,[@]SYSCONFDIR[@],$(sysconfdir),g' | |||
5 | gnunet.conf.5: gnunet.conf.5.in Makefile | 5 | gnunet.conf.5: gnunet.conf.5.in Makefile |
6 | $(do_subst) < $(srcdir)/gnunet.conf.5.in > gnunet.conf.5 | 6 | $(do_subst) < $(srcdir)/gnunet.conf.5.in > gnunet.conf.5 |
7 | 7 | ||
8 | CLEANFILES = gnunet.conf.5 | 8 | if TEXI2MDOC_GENERATION |
9 | gnunet-c-tutorial.7: Makefile gnunet-tutorial.7 | ||
10 | @echo generated texi2mdoc output || true | ||
11 | |||
12 | gnunet-tutorial.7: Makefile | ||
13 | $(SH) $(srcdir)/texi2mdoc-generation.sh || true | ||
14 | |||
15 | endif | ||
16 | |||
17 | CLEANFILES = gnunet.conf.5 *.html | ||
18 | |||
19 | if TEXI2MDOC_GENERATION | ||
20 | CLEANFILES += gnunet-documentation.7 gnunet-c-tutorial.7 | ||
21 | endif | ||
22 | |||
23 | html: | ||
24 | $(SH) $(srcdir)/produce_html.sh | ||
9 | 25 | ||
10 | man_MANS = \ | 26 | man_MANS = \ |
11 | gnunet.conf.5 \ | 27 | gnunet.conf.5 \ |
@@ -26,6 +42,7 @@ man_MANS = \ | |||
26 | gnunet-fs.1 \ | 42 | gnunet-fs.1 \ |
27 | gnunet-gns.1 \ | 43 | gnunet-gns.1 \ |
28 | gnunet-gns-proxy.1 \ | 44 | gnunet-gns-proxy.1 \ |
45 | gnunet-gns-proxy-setup-ca.1 \ | ||
29 | gnunet-identity.1 \ | 46 | gnunet-identity.1 \ |
30 | gnunet-cadet.1 \ | 47 | gnunet-cadet.1 \ |
31 | gnunet-namecache.1 \ | 48 | gnunet-namecache.1 \ |
@@ -34,6 +51,7 @@ man_MANS = \ | |||
34 | gnunet-nat.1 \ | 51 | gnunet-nat.1 \ |
35 | gnunet-nat-auto.1 \ | 52 | gnunet-nat-auto.1 \ |
36 | gnunet-nat-server.1 \ | 53 | gnunet-nat-server.1 \ |
54 | gnunet-nse.1 \ | ||
37 | gnunet-peerinfo.1 \ | 55 | gnunet-peerinfo.1 \ |
38 | gnunet-publish.1 \ | 56 | gnunet-publish.1 \ |
39 | gnunet-qr.1 \ | 57 | gnunet-qr.1 \ |
@@ -53,10 +71,15 @@ man_MANS = \ | |||
53 | gnunet-vpn.1 \ | 71 | gnunet-vpn.1 \ |
54 | gnunet-zoneimport.1 | 72 | gnunet-zoneimport.1 |
55 | 73 | ||
74 | if TEXI2MDOC_GENERATION | ||
75 | man_MANS += gnunet-c-tutorial.7 gnunet-documentation.7 | ||
76 | endif | ||
77 | |||
56 | EXTRA_DIST = ${man_MANS} \ | 78 | EXTRA_DIST = ${man_MANS} \ |
57 | gnunet.conf.5.in | 79 | gnunet.conf.5.in \ |
80 | texi2mdoc-generation.sh \ | ||
81 | README | ||
58 | 82 | ||
59 | if TEXI2MDOC_GENERATION | 83 | if TEXI2MDOC_GENERATION |
60 | EXTRA_DIST += gnunet-documentation.7 \ | 84 | EXTRA_DIST += gnunet-documentation.7 gnunet-c-tutorial.7 |
61 | gnunet-c-tutorial.7 | ||
62 | endif | 85 | endif |
diff --git a/doc/man/README b/doc/man/README new file mode 100644 index 000000000..fb95a11f2 --- /dev/null +++ b/doc/man/README | |||
@@ -0,0 +1,8 @@ | |||
1 | Please note that new edits in files which already are in mdoc format | ||
2 | should only be done in mdoc format. | ||
3 | |||
4 | TODO: | ||
5 | |||
6 | * incomplete pages: | ||
7 | - gnunet-timeout | ||
8 | \ No newline at end of file | ||
diff --git a/doc/man/gnunet-arm.1 b/doc/man/gnunet-arm.1 index b17e74a73..c25b10bb5 100644 --- a/doc/man/gnunet-arm.1 +++ b/doc/man/gnunet-arm.1 | |||
@@ -1,78 +1,134 @@ | |||
1 | .TH GNUNET\-ARM 1 "January 4, 2012" "GNUnet" | 1 | .\" This file is part of GNUnet. |
2 | .SH NAME | 2 | .\" Copyright (C) 2001-2019 GNUnet e.V. |
3 | gnunet\-arm \- control GNUnet services | 3 | .\" |
4 | .SH SYNOPSIS | 4 | .\" Permission is granted to copy, distribute and/or modify this document |
5 | .B gnunet\-arm | 5 | .\" under the terms of the GNU Free Documentation License, Version 1.3 or |
6 | .RI [ options ] | 6 | .\" any later version published by the Free Software Foundation; with no |
7 | .SH DESCRIPTION | 7 | .\" Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A |
8 | \fBgnunet\-arm\fP can be used to start or stop GNUnet services, including | 8 | .\" copy of the license is included in the file |
9 | the ARM service itself. The ARM service is a supervisor for GNUnet's | 9 | .\" ``FDL-1.3''. |
10 | service processes. ARM starts services on-demand or as configured and | 10 | .\" |
11 | re-starts them if they crash. | 11 | .\" A copy of the license is also available from the Free Software |
12 | .SH OPTIONS | 12 | .\" Foundation Web site at @url{http://www.gnu.org/licenses/fdl.html}. |
13 | .B | 13 | .\" |
14 | .IP "\-c FILENAME, \-\-config=FILENAME" | 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 @url{http://www.gnu.org/licenses/gpl.html}. | ||
21 | .\" | ||
22 | .\" SPDX-License-Identifier: GPL3.0-or-later OR FDL1.3-or-later | ||
23 | .\" | ||
24 | .Dd January 4, 2012 | ||
25 | .Dt GNUNET-ARM 1 | ||
26 | .Os | ||
27 | .Sh NAME | ||
28 | .Nm gnunet-arm | ||
29 | .Nd | ||
30 | control GNUnet services | ||
31 | .Sh SYNOPSIS | ||
32 | .Nm | ||
33 | .Op Fl c Ar FILENAME | Fl \-config= Ns Ar FILENAME | ||
34 | .Op Fl d | \-delete | ||
35 | .Op Fl e | \-end | ||
36 | .Op Fl E | \-no-stderr | ||
37 | .Op Fl h | \-help | ||
38 | .Op Fl i Ar SERVICE | Fl \-init= Ns Ar SERVICE | ||
39 | .Op Fl I | \-info | ||
40 | .Op Fl k Ar SERVICE | Fl \-kill= Ns Ar SERVICE | ||
41 | .Op Fl l Ar FILENAME | Fl \-logfile= Ns Ar FILENAME | ||
42 | .Op Fl L Ar LOGLEVEL | Fl \-loglevel= Ns Ar LOGLEVEL | ||
43 | .Op Fl m | \-monitor | ||
44 | .Op Fl O | \-no-stdout | ||
45 | .Op Fl q | \-quiet | ||
46 | .Op Fl r | \-restart | ||
47 | .Op Fl s | \-start | ||
48 | .Op Fl T DELAY | \-timeout= Ns Ar TIMEOUT | ||
49 | .Op Fl v | \-version | ||
50 | .Sh DESCRIPTION | ||
51 | .Nm | ||
52 | can be used to start or stop GNUnet services, including the ARM service itself. | ||
53 | The ARM service is a supervisor for GNUnet's service processes. | ||
54 | ARM starts services on-demand or as configured and restarts them if they crash. | ||
55 | .Bl -tag -width Ds | ||
56 | .It Fl c Ar FILENAME | Fl \-config= Ns Ar FILENAME | ||
15 | Use the configuration file FILENAME. | 57 | Use the configuration file FILENAME. |
16 | .B | 58 | .It Fl d | \-delete |
17 | .IP "\-e, \-\-end" | 59 | Delete config file and directory on exit. |
18 | Shutdown all GNUnet services (including ARM itself). Running | 60 | .It Fl e | \-end |
19 | "gnunet-arm \-e" is the usual way to shutdown a GNUnet peer. | 61 | Shutdown all GNUnet services (including ARM itself). |
20 | .B | 62 | Running "gnunet-arm \-e" is the usual way to shutdown a GNUnet peer. |
21 | .IP "\-h, \-\-help" | 63 | .It Fl E | \-no-stderr |
64 | Don't let gnunet-arm inherit standard error. | ||
65 | .It Fl h | \-help | ||
22 | Print short help on options. | 66 | Print short help on options. |
23 | .B | 67 | .It Fl i Ar SERVICE | Fl \-init= Ns Ar SERVICE |
24 | .IP "\-L LOGLEVEL, \-\-loglevel=LOGLEVEL" | 68 | Starts the specified SERVICE if it is not already running. |
25 | Use LOGLEVEL for logging. Valid values are DEBUG, INFO, WARNING and ERROR. | 69 | More specifically, this makes the service behave as if it were in the default services list. |
26 | .B | 70 | .It Fl I | \-info |
27 | .IP "\-i SERVICE, \-\-init=SERVICE" | ||
28 | Starts the specified SERVICE if it is not already running. More specifically, | ||
29 | this makes the service behave as if it were in the default services list. | ||
30 | .B | ||
31 | .IP "\-k SERVICE, \-\-kill=SERVICE" | ||
32 | Stop the specified SERVICE if it is running. While this will kill the service | ||
33 | right now, the service may be restarted immediately if other services depend | ||
34 | on it (service is then started 'on-demand'). If the service used to be a 'default' | ||
35 | service, its default-service status will be revoked. If the | ||
36 | service was not a default service, it will just be (temporarily) stopped, | ||
37 | but could be re-started on-demand at any time. | ||
38 | .B | ||
39 | .IP "\-m, \-\-monitor" | ||
40 | Monitor service activity of ARM. In this mode, the command will not terminate | ||
41 | until the user presses CTRL-C. | ||
42 | .B | ||
43 | .IP "\-s, \-\-start" | ||
44 | Start all GNUnet default services on this system (and also ARM). Naturally, | ||
45 | if a service is demanded by a default service, it will then also be started. | ||
46 | Running "gnunet-arm \-s" is the usual way to start a GNUnet peer. | ||
47 | .B | ||
48 | .IP "\-I, \-\-info" | ||
49 | List all running services. | 71 | List all running services. |
50 | .B | 72 | .It Fl k Ar SERVICE | Fl \-kill= Ns Ar SERVICE |
51 | .IP "\-v, \-\-version" | 73 | Stop the specified SERVICE if it is running. |
74 | While this will kill the service right now, the service may be restarted immediately if other services depend on it (service is then started 'on-demand'). | ||
75 | If the service used to be a 'default' service, its default-service status will be revoked. | ||
76 | If the service was not a default service, it will just be (temporarily) stopped, but could be re-started on-demand at any time. | ||
77 | .It Fl l Ar FILENAME | Fl \-logfile= Ns Ar FILENAME | ||
78 | Write logs to FILENAME. | ||
79 | .It Fl L Ar LOGLEVEL | Fl \-loglevel= Ns Ar LOGLEVEL | ||
80 | Use LOGLEVEL for logging. | ||
81 | Valid values are DEBUG, INFO, WARNING and ERROR. | ||
82 | .It Fl m | \-monitor | ||
83 | Monitor service activity of ARM. | ||
84 | In this mode, the command will not terminate until the user presses CTRL-C. | ||
85 | .It Fl O | \-no-stdout | ||
86 | Don't let gnunet-arm inherit standard output | ||
87 | .It Fl q | \-quiet | ||
88 | Don't print status messages. | ||
89 | .It Fl r | \-restart | ||
90 | Stop and start all GNUnet default services. | ||
91 | .It Fl s | \-start | ||
92 | Start all GNUnet default services on this system (and also ARM). | ||
93 | Naturally, if a service is demanded by a default service, it will then also be started. | ||
94 | Running "gnunet-arm \-s" is the usual way to start a GNUnet peer. | ||
95 | .It Fl T DELAY | \-timeout= Ns Ar DELAY | ||
96 | Exit with error status if operation does not finish after DELAY | ||
97 | .It Fl v | \-version | ||
52 | Print GNUnet version number. | 98 | Print GNUnet version number. |
53 | .SH BUGS | 99 | .El |
54 | Report bugs by using Mantis <https://bugs.gnunet.org/> or by sending | 100 | .Sh EXAMPLES |
55 | electronic mail to <gnunet\-developers@gnu.org> | 101 | Start the gnunet-arm for the user: |
56 | .SH SEE ALSO | 102 | .Pp |
57 | gnunet\-config(1), gnunet\-setup(1) | 103 | .Dl gnunet-arm -s |
58 | .PP | 104 | .Pp |
59 | The full documentation for | 105 | Stop the gnunet-arm for the user: |
60 | .B gnunet | 106 | .Pp |
61 | is maintained as a Texinfo manual. | 107 | .Dl $ gnunet-arm -e |
108 | .Sh SEE ALSO | ||
109 | .Xr gnunet-config 1 , | ||
110 | .Xr gnunet-setup 1 | ||
111 | .sp | ||
112 | The full documentation for gnunet is maintained as a Texinfo manual. | ||
62 | If the | 113 | If the |
63 | .B info | 114 | .Xr info 1 |
64 | and | 115 | and gnunet programs are properly installed at your site, the command |
65 | .B gnunet | 116 | .Pp |
66 | programs are properly installed at your site, the command | 117 | .Dl info gnunet |
67 | .IP | 118 | .Pp |
68 | .B info gnunet | ||
69 | .PP | ||
70 | should give you access to the complete handbook, | 119 | should give you access to the complete handbook, |
71 | .IP | 120 | .Pp |
72 | .B info gnunet-c-tutorial | 121 | .Dl info gnunet-c-tutorial |
73 | .PP | 122 | .Pp |
74 | will give you access to a tutorial for developers. | 123 | will give you access to a tutorial for developers. |
75 | .PP | 124 | .sp |
76 | Depending on your installation, this information is also | 125 | Depending on your installation, this information is also available in |
77 | available in | 126 | .Xr gnunet 7 and |
78 | \fBgnunet\fP(7) and \fBgnunet-c-tutorial\fP(7). | 127 | .Xr gnunet-c-tutorial 7 . |
128 | .\".Sh HISTORY | ||
129 | .\".Sh AUTHORS | ||
130 | .Sh BUGS | ||
131 | Report bugs by using | ||
132 | .Lk https://bugs.gnunet.org | ||
133 | or by sending electronic mail to | ||
134 | .Aq Mt gnunet-developers@gnu.org . | ||
diff --git a/doc/man/gnunet-ats.1 b/doc/man/gnunet-ats.1 index c098ed576..1e7b7731c 100644 --- a/doc/man/gnunet-ats.1 +++ b/doc/man/gnunet-ats.1 | |||
@@ -1,85 +1,110 @@ | |||
1 | .TH GNUNET\-ATS 1 "October 16, 2015" "GNUnet" | 1 | .\" This file is part of GNUnet. |
2 | .SH NAME | 2 | .\" Copyright (C) 2001-2019 GNUnet e.V. |
3 | gnunet\-ats \- display information about transport resource allocation | 3 | .\" |
4 | .SH SYNOPSIS | 4 | .\" Permission is granted to copy, distribute and/or modify this document |
5 | .B gnunet\-ats | 5 | .\" under the terms of the GNU Free Documentation License, Version 1.3 or |
6 | .RI [ options ] | 6 | .\" any later version published by the Free Software Foundation; with no |
7 | .br | 7 | .\" Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A |
8 | .SH DESCRIPTION | 8 | .\" copy of the license is included in the file |
9 | \fBgnunet\-ats\fP can be used to display information about the GNUnet's | 9 | .\" ``FDL-1.3''. |
10 | transport selection mechanism. It shows information about the | 10 | .\" |
11 | addresses and the assigned input and output bandwidth. | 11 | .\" A copy of the license is also available from the Free Software |
12 | .SH OPTIONS | 12 | .\" Foundation Web site at @url{http://www.gnu.org/licenses/fdl.html}. |
13 | .B | 13 | .\" |
14 | .IP "\-a, \-\-aa" | 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 @url{http://www.gnu.org/licenses/gpl.html}. | ||
21 | .\" | ||
22 | .\" SPDX-License-Identifier: GPL3.0-or-later OR FDL1.3-or-later | ||
23 | .\" | ||
24 | .Dd October 16, 2015 | ||
25 | .Dt GNUNET-ATS 1 | ||
26 | .Os | ||
27 | .Sh NAME | ||
28 | .Nm gnunet-ats | ||
29 | .Nd | ||
30 | display information about transport resource allocation | ||
31 | .Sh SYNOPSIS | ||
32 | .Nm | ||
33 | .Op Fl a | \-all | ||
34 | .Op Fl C Ar PEERID | Fl \-connect= Ns Ar PEERID | ||
35 | .Op Fl c Ar FILENAME | Fl \-config= Ns Ar FILENAME | ||
36 | .Op Fl h | \-help | ||
37 | .Op Fl i Ar PEERID | Fl \-id= Ns Ar PEERID | ||
38 | .Op Fl k Ar VALUE | Fl \-value= Ns Ar VALUE | ||
39 | .Op Fl L Ar LOGLEVEL | Fl \-loglevel= Ns Ar LOGLEVEL | ||
40 | .Op Fl m | \-monitor | ||
41 | .Op Fl n | \-numeric | ||
42 | .Op Fl p Ar PREFERENCE | Fl \-preference= Ns Ar PREFERENCE | ||
43 | .Op Fl q | \-quotas | ||
44 | .Op Fl t Ar TYPE | Fl \-type= Ns Ar TYPE | ||
45 | .Op Fl u | \-used | ||
46 | .Op Fl V | \-verbose | ||
47 | .Op Fl v | \-version | ||
48 | .Sh DESCRIPTION | ||
49 | .Nm | ||
50 | can be used to display information about the GNUnet's transport selection mechanism. | ||
51 | It shows information about the addresses and the assigned input and output bandwidth. | ||
52 | .Sh OPTIONS | ||
53 | .Bl -tag -width Ds | ||
54 | .It Fl a | \-all | ||
15 | List all addresses currently known to ats. | 55 | List all addresses currently known to ats. |
16 | .B | 56 | .It Fl C Ar PEERID | Fl \-connect= Ns Ar PEERID |
17 | .IP "\-c FILENAME, \-\-config=FILENAME" | 57 | Ask ATS to suggest an address for PEERID to transport to establish a connection. |
58 | Note that you can use the gnunet-transport commandline tool to force disconnects. | ||
59 | .It Fl c Ar FILENAME | Fl \-config= Ns Ar FILENAME | ||
18 | Use the configuration file FILENAME. | 60 | Use the configuration file FILENAME. |
19 | .B | 61 | .It Fl h | \-help |
20 | .IP "\-C, \-\-connect=PEERID" | ||
21 | Ask ATS to suggest an address for PEERID to transport to establish a | ||
22 | connection. | ||
23 | Note that you can use the gnunet\-transport command\-line tool to | ||
24 | force disconnects. | ||
25 | .B | ||
26 | .IP "\-h, \-\-help" | ||
27 | Print short help on options. | 62 | Print short help on options. |
28 | .B | 63 | .It Fl i Ar PEERID | Fl \-id= Ns Ar PEERID |
29 | .IP "\-i, \-\-id=PEERID" | 64 | Print information for a specific peer identity only. |
30 | Print information for a specific peer identity only | 65 | .It Fl k Ar VALUE | Fl \-value= Ns Ar VALUE |
31 | .B | 66 | Value to set for when changing preference values. |
32 | .IP "\-k, \-\-value=VALUE" | 67 | .It Fl L Ar LOGLEVEL | Fl \-loglevel= Ns Ar LOGLEVEL |
33 | Value to set for when changing preference values | ||
34 | .B | ||
35 | .IP "\-L LOGLEVEL, \-\-loglevel=LOGLEVEL" | ||
36 | Use LOGLEVEL for logging. | 68 | Use LOGLEVEL for logging. |
37 | Valid values are DEBUG, INFO, WARNING and ERROR. | 69 | Valid values are DEBUG, INFO, WARNING and ERROR. |
38 | .B | 70 | .It Fl m | \-monitor |
39 | .IP "\-m, \-\-monitor" | 71 | Monitor changes to the bandwidth assignments continuously. |
40 | Monitor changes to the bandwidth assignments continuously | 72 | .It Fl n | \-numeric |
41 | .B | 73 | Do not resolve IP addresses to hostnames. |
42 | .IP "\-n, \-\-numeric" | 74 | .It Fl p Ar PREFERENCE | Fl \-preference= Ns Ar PREFERENCE |
43 | Do not resolve IP addresses to hostnames | 75 | Set preference values, -i, -k and -t required. |
44 | .B | 76 | .It Fl q | \-quotas |
45 | .IP "\-k, \-\-preference=E" | ||
46 | Set preference values, \-i, \-k and \-t required | ||
47 | .B | ||
48 | .IP "\-q, \-\-quotas" | ||
49 | Print quotas for all network types | 77 | Print quotas for all network types |
50 | .B | 78 | .It Fl t Ar TYPE | Fl \-type= Ns Ar TYPE |
51 | .IP "\-t, \-\-type=VALUE" | ||
52 | Preference type to change: latency | bandwidth | 79 | Preference type to change: latency | bandwidth |
53 | .B | 80 | .It Fl u | \-used |
54 | .IP "\-u, \-\-used" | ||
55 | Print addresses actively used only | 81 | Print addresses actively used only |
56 | .B | 82 | .It Fl V | \-verbose |
57 | .IP "\-V, \-\-verbose" | ||
58 | Print verbose output (include ATS address properties) | 83 | Print verbose output (include ATS address properties) |
59 | .B | 84 | .It v | \-version |
60 | .IP "\-v, \-\-version" | ||
61 | Print GNUnet version number. | 85 | Print GNUnet version number. |
62 | .SH BUGS | 86 | .El |
63 | Report bugs by using Mantis <https://bugs.gnunet.org/> or by sending | 87 | .Sh SEE ALSO |
64 | electronic mail to <bug\-gnunet@gnu.org> | 88 | .Xr gnunet-transport 1 |
65 | .SH SEE ALSO | 89 | .sp |
66 | gnunet\-transport(1) | 90 | The full documentation for gnunet is maintained as a Texinfo manual. |
67 | The full documentation for | 91 | If the |
68 | .B gnunet | 92 | .Xr info 1 |
69 | is maintained as a Texinfo manual. If the | 93 | and gnunet programs are properly installed at your site, the command |
70 | .B info | 94 | .Pp |
71 | and | 95 | .Dl info gnunet |
72 | .B gnunet | 96 | .Pp |
73 | programs are properly installed at your site, the command | ||
74 | .IP | ||
75 | .B info gnunet | ||
76 | .PP | ||
77 | should give you access to the complete handbook, | 97 | should give you access to the complete handbook, |
78 | .IP | 98 | .Pp |
79 | .B info gnunet-c-tutorial | 99 | .Dl info gnunet-c-tutorial |
80 | .PP | 100 | .Pp |
81 | will give you access to a tutorial for developers. | 101 | will give you access to a tutorial for developers. |
82 | .PP | 102 | .Pp |
83 | Depending on your installation, this information is also | 103 | Depending on your installation, this information is also available in |
84 | available in | 104 | .Xr gnunet 7 and |
85 | \fBgnunet\fP(7) and \fBgnunet-c-tutorial\fP(7). | 105 | .Xr gnunet-c-tutorial 7 . |
106 | .Sh BUGS | ||
107 | Report bugs by using | ||
108 | .Lk https://bugs.gnunet.org | ||
109 | or by sending electronic mail to | ||
110 | .Aq Mt bug-gnunet@gnu.org . | ||
diff --git a/doc/man/gnunet-bcd.1 b/doc/man/gnunet-bcd.1 index 02b4397de..9b37a097b 100644 --- a/doc/man/gnunet-bcd.1 +++ b/doc/man/gnunet-bcd.1 | |||
@@ -13,19 +13,14 @@ installed. If it does not work for you, try installing the full | |||
13 | TeXLive distribution first, for example using the package\-manager | 13 | TeXLive distribution first, for example using the package\-manager |
14 | apt: "apt-get install texlive-full". | 14 | apt: "apt-get install texlive-full". |
15 | .SH OPTIONS | 15 | .SH OPTIONS |
16 | .B | ||
17 | .IP "\-p PORT, \-\-port=PORT" | 16 | .IP "\-p PORT, \-\-port=PORT" |
18 | Run the HTTP server on port PORT. | 17 | Run the HTTP server on port PORT. |
19 | .B | ||
20 | .IP "\-c FILENAME, \-\-config=FILENAME" | 18 | .IP "\-c FILENAME, \-\-config=FILENAME" |
21 | Use the configuration file FILENAME. | 19 | Use the configuration file FILENAME. |
22 | .B | ||
23 | .IP "\-h, \-\-help" | 20 | .IP "\-h, \-\-help" |
24 | Print short help on options. | 21 | Print short help on options. |
25 | .B | ||
26 | .IP "\-L LOGLEVEL, \-\-loglevel=LOGLEVEL" | 22 | .IP "\-L LOGLEVEL, \-\-loglevel=LOGLEVEL" |
27 | Use LOGLEVEL for logging. Valid values are DEBUG, INFO, WARNING and ERROR. | 23 | Use LOGLEVEL for logging. Valid values are DEBUG, INFO, WARNING and ERROR. |
28 | .B | ||
29 | .IP "\-v, \-\-version" | 24 | .IP "\-v, \-\-version" |
30 | Print GNUnet version number. | 25 | Print GNUnet version number. |
31 | .SH BUGS | 26 | .SH BUGS |
diff --git a/doc/man/gnunet-cadet.1 b/doc/man/gnunet-cadet.1 index 8404f085c..44d7fffca 100644 --- a/doc/man/gnunet-cadet.1 +++ b/doc/man/gnunet-cadet.1 | |||
@@ -21,42 +21,30 @@ For one\-to\-many communication \fBgnunet\-social\fP may be better | |||
21 | suited, however. | 21 | suited, however. |
22 | 22 | ||
23 | .SH SPECIFIC OPTIONS | 23 | .SH SPECIFIC OPTIONS |
24 | .B | ||
25 | .IP "\-C CONNECTION_ID, \-\-connection=CONNECTION_ID" | 24 | .IP "\-C CONNECTION_ID, \-\-connection=CONNECTION_ID" |
26 | Provide information about a particular connection. | 25 | Provide information about a particular connection. |
27 | .B | ||
28 | .IP "\-d, \-\-dump" | 26 | .IP "\-d, \-\-dump" |
29 | Dump debug information to STDERR. | 27 | Dump debug information to STDERR. |
30 | .B | ||
31 | .IP "\-e, \-\-echo" | 28 | .IP "\-e, \-\-echo" |
32 | Activate echo mode. | 29 | Activate echo mode. |
33 | .B | ||
34 | .IP "\-o SHARED_SECRET, \-\-open-port=SHARED_SECRET" | 30 | .IP "\-o SHARED_SECRET, \-\-open-port=SHARED_SECRET" |
35 | Listen for connections using a shared secret among sender and recipient. | 31 | Listen for connections using a shared secret among sender and recipient. |
36 | .B | ||
37 | .IP "\-p PEER_ID, \-\-peer=PEER_ID" | 32 | .IP "\-p PEER_ID, \-\-peer=PEER_ID" |
38 | Provide information about a patricular peer. | 33 | Provide information about a patricular peer. |
39 | .B | ||
40 | .IP "\-P, \-\-peers" | 34 | .IP "\-P, \-\-peers" |
41 | Provide information about all peers. | 35 | Provide information about all peers. |
42 | .B | ||
43 | .IP "\-T, \-\-tunnels" | 36 | .IP "\-T, \-\-tunnels" |
44 | Provide information about all tunnels. | 37 | Provide information about all tunnels. |
45 | 38 | ||
46 | .SH STANDARD OPTIONS | 39 | .SH STANDARD OPTIONS |
47 | .B | ||
48 | .IP "\-c FILENAME, \-\-config=FILENAME" | 40 | .IP "\-c FILENAME, \-\-config=FILENAME" |
49 | Use the configuration file FILENAME. | 41 | Use the configuration file FILENAME. |
50 | .B | ||
51 | .IP "\-h, \-\-help" | 42 | .IP "\-h, \-\-help" |
52 | Print short help on options. | 43 | Print short help on options. |
53 | .B | ||
54 | .IP "\-l LOGFILE, \-\-logfile=LOGFILE" | 44 | .IP "\-l LOGFILE, \-\-logfile=LOGFILE" |
55 | Configure logging to write logs to LOGFILE. | 45 | Configure logging to write logs to LOGFILE. |
56 | .B | ||
57 | .IP "\-L LOGLEVEL, \-\-loglevel=LOGLEVEL" | 46 | .IP "\-L LOGLEVEL, \-\-loglevel=LOGLEVEL" |
58 | Use LOGLEVEL for logging. Valid values are DEBUG, INFO, WARNING and ERROR. | 47 | Use LOGLEVEL for logging. Valid values are DEBUG, INFO, WARNING and ERROR. |
59 | .B | ||
60 | .IP "\-v, \-\-version" | 48 | .IP "\-v, \-\-version" |
61 | Print GNUnet version number. | 49 | Print GNUnet version number. |
62 | 50 | ||
diff --git a/doc/man/gnunet-config.1 b/doc/man/gnunet-config.1 index f1443283f..8eca8de10 100644 --- a/doc/man/gnunet-config.1 +++ b/doc/man/gnunet-config.1 | |||
@@ -7,38 +7,28 @@ gnunet\-config \- manipulate GNUnet configuration files | |||
7 | .SH DESCRIPTION | 7 | .SH DESCRIPTION |
8 | \fBgnunet\-config\fP can be used to read or modify GNUnet configuration files. | 8 | \fBgnunet\-config\fP can be used to read or modify GNUnet configuration files. |
9 | .SH OPTIONS | 9 | .SH OPTIONS |
10 | .B | ||
11 | .IP "\-f, \-\-filename" | 10 | .IP "\-f, \-\-filename" |
12 | When accessing a specific option using \-s and \-o, perform expansions as if the | 11 | Try to perform expansions as if the option values represent filenames (will |
13 | value represents a filename. | 12 | also be applied even if the option is not really a filename). |
14 | .B | ||
15 | .IP "\-s SECTION, \-\-section=SECTION" | 13 | .IP "\-s SECTION, \-\-section=SECTION" |
16 | Which configuration section should be accessed or edited. Required option. | 14 | Which configuration section should be accessed or edited. Required option. |
17 | .B | ||
18 | .IP "\-S, \-\-list\-sections" | 15 | .IP "\-S, \-\-list\-sections" |
19 | List available configuration sections for use with \-\-section. | 16 | List available configuration sections for use with \-\-section. |
20 | .B | ||
21 | .IP "\-W, \-\-rewrite" | 17 | .IP "\-W, \-\-rewrite" |
22 | Consider differences to defaults only. | 18 | Consider differences to defaults only. |
23 | .B | ||
24 | .IP "\-o OPTION, \-\-option=OPTION" | 19 | .IP "\-o OPTION, \-\-option=OPTION" |
25 | Which configuration option should be accessed or edited. Required to set a value. | 20 | Which configuration option should be accessed or edited. Required to set a value. |
26 | If not given, all values of a given section will be printed in the | 21 | If not given, all values of a given section will be printed in the |
27 | format "OPTION = VALUE". | 22 | format "OPTION = VALUE". |
28 | .B | ||
29 | .IP "\-V VALUE, \-\-value VALUE" | 23 | .IP "\-V VALUE, \-\-value VALUE" |
30 | Configuration value to store in the given section under the given option. | 24 | Configuration value to store in the given section under the given option. |
31 | Must only be given together with \-s and \-o options. | 25 | Must only be given together with \-s and \-o options. |
32 | .B | ||
33 | .IP "\-c FILENAME, \-\-config=FILENAME" | 26 | .IP "\-c FILENAME, \-\-config=FILENAME" |
34 | Use the configuration file FILENAME. | 27 | Use the configuration file FILENAME. |
35 | .B | ||
36 | .IP "\-h, \-\-help" | 28 | .IP "\-h, \-\-help" |
37 | Print short help on options. | 29 | Print short help on options. |
38 | .B | ||
39 | .IP "\-L LOGLEVEL, \-\-loglevel=LOGLEVEL" | 30 | .IP "\-L LOGLEVEL, \-\-loglevel=LOGLEVEL" |
40 | Use LOGLEVEL for logging. Valid values are DEBUG, INFO, WARNING and ERROR. | 31 | Use LOGLEVEL for logging. Valid values are DEBUG, INFO, WARNING and ERROR. |
41 | .B | ||
42 | .IP "\-v, \-\-version" | 32 | .IP "\-v, \-\-version" |
43 | Print GNUnet version number. | 33 | Print GNUnet version number. |
44 | .SH BUGS | 34 | .SH BUGS |
diff --git a/doc/man/gnunet-conversation-test.1 b/doc/man/gnunet-conversation-test.1 index 5c08d3dab..477da5042 100644 --- a/doc/man/gnunet-conversation-test.1 +++ b/doc/man/gnunet-conversation-test.1 | |||
@@ -17,17 +17,13 @@ known to your computer). | |||
17 | You can use gnunet\-conversation\-test without having a peer running | 17 | You can use gnunet\-conversation\-test without having a peer running |
18 | on your computer. | 18 | on your computer. |
19 | .SH OPTIONS | 19 | .SH OPTIONS |
20 | .B | ||
21 | .IP "\-c FILENAME, \-\-config=FILENAME" | 20 | .IP "\-c FILENAME, \-\-config=FILENAME" |
22 | Use the configuration file FILENAME. | 21 | Use the configuration file FILENAME. |
23 | .B | ||
24 | .IP "\-h, \-\-help" | 22 | .IP "\-h, \-\-help" |
25 | Print short help on options. | 23 | Print short help on options. |
26 | .B | ||
27 | .IP "\-L LOGLEVEL, \-\-loglevel=LOGLEVEL" | 24 | .IP "\-L LOGLEVEL, \-\-loglevel=LOGLEVEL" |
28 | Use LOGLEVEL for logging. | 25 | Use LOGLEVEL for logging. |
29 | Valid values are DEBUG, INFO, WARNING and ERROR. | 26 | Valid values are DEBUG, INFO, WARNING and ERROR. |
30 | .B | ||
31 | .IP "\-v, \-\-version" | 27 | .IP "\-v, \-\-version" |
32 | Print GNUnet version number. | 28 | Print GNUnet version number. |
33 | .SH BUGS | 29 | .SH BUGS |
diff --git a/doc/man/gnunet-conversation.1 b/doc/man/gnunet-conversation.1 index 5925871da..3815b3887 100644 --- a/doc/man/gnunet-conversation.1 +++ b/doc/man/gnunet-conversation.1 | |||
@@ -15,25 +15,19 @@ your zone in the GNU Name System (using gnunet\-namestore). | |||
15 | gnunet\-conversation has an interactive help system via the /help | 15 | gnunet\-conversation has an interactive help system via the /help |
16 | command. | 16 | command. |
17 | .SH OPTIONS | 17 | .SH OPTIONS |
18 | .B | ||
19 | .IP "\-c FILENAME, \-\-config=FILENAME" | 18 | .IP "\-c FILENAME, \-\-config=FILENAME" |
20 | Use the configuration file FILENAME. | 19 | Use the configuration file FILENAME. |
21 | .B | ||
22 | .IP "\-e NAME, \-\-ego=NAME" | 20 | .IP "\-e NAME, \-\-ego=NAME" |
23 | Specifies the NAME of the ego to use (for caller ID). | 21 | Specifies the NAME of the ego to use (for caller ID). |
24 | .B | ||
25 | .IP "\-h, \-\-help" | 22 | .IP "\-h, \-\-help" |
26 | Print short help on options. | 23 | Print short help on options. |
27 | .B | ||
28 | .IP "\-L LOGLEVEL, \-\-loglevel=LOGLEVEL" | 24 | .IP "\-L LOGLEVEL, \-\-loglevel=LOGLEVEL" |
29 | Use LOGLEVEL for logging. | 25 | Use LOGLEVEL for logging. |
30 | Valid values are DEBUG, INFO, WARNING and ERROR. | 26 | Valid values are DEBUG, INFO, WARNING and ERROR. |
31 | .B | ||
32 | .IP "\-p LINE, \-\-phone=LINE" | 27 | .IP "\-p LINE, \-\-phone=LINE" |
33 | Optional argument that can be used to specify the phone LINE to be used with | 28 | Optional argument that can be used to specify the phone LINE to be used with |
34 | the conversation service. | 29 | the conversation service. |
35 | The default LINE is zero, which should be fine for most users. | 30 | The default LINE is zero, which should be fine for most users. |
36 | .B | ||
37 | .IP "\-v, \-\-version" | 31 | .IP "\-v, \-\-version" |
38 | Print GNUnet version number. | 32 | Print GNUnet version number. |
39 | .SH BUGS | 33 | .SH BUGS |
diff --git a/doc/man/gnunet-dns2gns.1 b/doc/man/gnunet-dns2gns.1 index 552df25b6..f61a0a8b3 100644 --- a/doc/man/gnunet-dns2gns.1 +++ b/doc/man/gnunet-dns2gns.1 | |||
@@ -1,60 +1,60 @@ | |||
1 | .TH GNUNET\-DNS2GNS 1 "March 5, 2018" "GNUnet" | 1 | .Dd March 5, 2018 |
2 | 2 | .Dt GNUNET-DNS2GNS 1 | |
3 | .SH NAME | 3 | .Os |
4 | gnunet\-dns2gns \- run a DNS-to-GNS proxy | 4 | .Sh NAME |
5 | 5 | .Nm gnunet-dns2gns | |
6 | .SH SYNOPSIS | 6 | .Nd |
7 | .B gnunet\-dns2gns | 7 | run a DNS-to-GNS proxy |
8 | .RI [ options ] | 8 | .Sh SYNOPSIS |
9 | .br | 9 | .Nm |
10 | 10 | .Op Fl c Ar FILENAME | Fl \-config= Ns Ar FILENAME | |
11 | .SH DESCRIPTION | 11 | .Op Fl d Ar IP | Fl \-dns= Ns Ar IP |
12 | Most users will not want to run an DNS to GNS proxy/gateway and thus will not | 12 | .Op Fl h | \-help |
13 | need this program. | 13 | .Op Fl L Ar LOGLEVEL | Fl \-loglevel= Ns Ar LOGLEVEL |
14 | 14 | .Op Fl v | \-version | |
15 | \fBgnunet\-dns2gns\fP runs a DNS resolver which delegates requests GNS if | 15 | .Sh DESCRIPTION |
16 | the TLD matches one configured for GNS. All other requests are forwarded | 16 | .Nm |
17 | to DNS. This DNS proxy is useful for enabling non-personalized | 17 | runs a DNS resolver which delegates requests GNS if the TLD matches one configured for GNS. |
18 | GNS\-resolution to an entire network or to offer GNS\-resolution to DNS users. | 18 | All other requests are forwarded to DNS. |
19 | 19 | This DNS proxy is useful for enabling non-personalized GNS\-resolution to an entire network or to offer GNS\-resolution to DNS users. | |
20 | .SH OPTIONS | 20 | .Bl -tag -width Ds |
21 | .B | 21 | .It Fl c Ar FILENAME | Fl \-config= Ns Ar FILENAME |
22 | .IP "\-c FILENAME, \-\-config=FILENAME" | ||
23 | Use the configuration file FILENAME. | 22 | Use the configuration file FILENAME. |
24 | .B | 23 | .It Fl d Ar IP | Fl \-dns= Ns Ar IP |
25 | .IP "\-d IP, \-\-dns=IP" | ||
26 | IP address of a recursive DNS resolver that should be used for non-GADS hostnames. | 24 | IP address of a recursive DNS resolver that should be used for non-GADS hostnames. |
27 | .B | 25 | .It Fl h | \-help |
28 | .IP "\-h, \-\-help" | ||
29 | Print short help on options. | 26 | Print short help on options. |
30 | .B | 27 | .It Fl L Ar LOGLEVEL | Fl \-loglevel= Ns Ar LOGLEVEL |
31 | .IP "\-L LOGLEVEL, \-\-loglevel=LOGLEVEL" | 28 | Use LOGLEVEL for logging. |
32 | Use LOGLEVEL for logging. Valid values are DEBUG, INFO, WARNING and ERROR. | 29 | Valid values are DEBUG, INFO, WARNING and ERROR. |
33 | .B | 30 | .It Fl v | \-version |
34 | .IP "\-v, \-\-version" | ||
35 | Print GNUnet version number. | 31 | Print GNUnet version number. |
36 | 32 | .El | |
37 | .SH BUGS | 33 | .Sh SEE ALSO |
38 | Report bugs by using Mantis <https://bugs.gnunet.org/> or by sending | 34 | .Xr gnunet-gns-fcfs 1 , |
39 | electronic mail to <bug\-gnunet@gnu.org> | 35 | .Xr gnunet-gns 1 , |
40 | .SH SEE ALSO | 36 | .Xr gnunet-identity 1 |
41 | gnunet\-gns\-fcfs(1), gnunet\-gns(1), gnunet\-identity(1) | 37 | .sp |
42 | The full documentation for | 38 | The full documentation for gnunet is maintained as a Texinfo manual. |
43 | .B gnunet | 39 | If the |
44 | is maintained as a Texinfo manual. If the | 40 | .Xr info 1 |
45 | .B info | 41 | and gnunet programs are properly installed at your site, the command |
46 | and | 42 | .Pp |
47 | .B gnunet | 43 | .Dl info gnunet |
48 | programs are properly installed at your site, the command | 44 | .Pp |
49 | .IP | ||
50 | .B info gnunet | ||
51 | .PP | ||
52 | should give you access to the complete handbook, | 45 | should give you access to the complete handbook, |
53 | .IP | 46 | .Pp |
54 | .B info gnunet-c-tutorial | 47 | .Dl info gnunet-c-tutorial |
55 | .PP | 48 | .Pp |
56 | will give you access to a tutorial for developers. | 49 | will give you access to a tutorial for developers. |
57 | .PP | 50 | .sp |
58 | Depending on your installation, this information is also | 51 | Depending on your installation, this information is also available in |
59 | available in | 52 | .Xr gnunet 7 and |
60 | \fBgnunet\fP(7) and \fBgnunet-c-tutorial\fP(7). | 53 | .Xr gnunet-c-tutorial 7 . |
54 | .\".Sh HISTORY | ||
55 | .\".Sh AUTHORS | ||
56 | .Sh BUGS | ||
57 | Report bugs by using | ||
58 | .Lk https://bugs.gnunet.org | ||
59 | or by sending electronic mail to | ||
60 | .Aq Mt gnunet-developers@gnu.org . | ||
diff --git a/doc/man/gnunet-ecc.1 b/doc/man/gnunet-ecc.1 index aedc0bc49..2aa7743b2 100644 --- a/doc/man/gnunet-ecc.1 +++ b/doc/man/gnunet-ecc.1 | |||
@@ -17,33 +17,25 @@ take a while. If the option \-p is given, the corresponding public | |||
17 | key will be printed to the console. | 17 | key will be printed to the console. |
18 | 18 | ||
19 | .SH OPTIONS | 19 | .SH OPTIONS |
20 | .B | ||
21 | .IP "\-g COUNT, \-\-generate-keys=COUNT" | 20 | .IP "\-g COUNT, \-\-generate-keys=COUNT" |
22 | Create COUNT public-private key pairs and write them to FILENAME. | 21 | Create COUNT public-private key pairs and write them to FILENAME. |
23 | Used for creating a file for testing. | 22 | Used for creating a file for testing. |
24 | .B | ||
25 | .IP "\-p, \-\-print-public-key" | 23 | .IP "\-p, \-\-print-public-key" |
26 | Print the corresponding public key to stdout. This is the value used | 24 | Print the corresponding public key to stdout. This is the value used |
27 | for PKEY records in GNS. | 25 | for PKEY records in GNS. |
28 | .B | ||
29 | .IP "\-P, \-\-print-private-key" | 26 | .IP "\-P, \-\-print-private-key" |
30 | Print the corresponding private key to stdout. This is the value used | 27 | Print the corresponding private key to stdout. This is the value used |
31 | for PKEY records in GNS. | 28 | for PKEY records in GNS. |
32 | .B | ||
33 | .IP "\-x, \-\-print-hex" | 29 | .IP "\-x, \-\-print-hex" |
34 | Print the corresponding public key to stdout in HEX format. Useful | 30 | Print the corresponding public key to stdout in HEX format. Useful |
35 | for comparing to Ed25519 keys in X.509 tools. | 31 | for comparing to Ed25519 keys in X.509 tools. |
36 | .B | ||
37 | .IP "\-c FILENAME, \-\-config=FILENAME" | 32 | .IP "\-c FILENAME, \-\-config=FILENAME" |
38 | Use the configuration file FILENAME. | 33 | Use the configuration file FILENAME. |
39 | .B | ||
40 | .IP "\-h, \-\-help" | 34 | .IP "\-h, \-\-help" |
41 | Print short help on options. | 35 | Print short help on options. |
42 | .B | ||
43 | .IP "\-L LOGLEVEL, \-\-loglevel=LOGLEVEL" | 36 | .IP "\-L LOGLEVEL, \-\-loglevel=LOGLEVEL" |
44 | Use LOGLEVEL for logging. Valid values are DEBUG, INFO, WARNING and | 37 | Use LOGLEVEL for logging. Valid values are DEBUG, INFO, WARNING and |
45 | ERROR. | 38 | ERROR. |
46 | .B | ||
47 | .IP "\-v, \-\-version" | 39 | .IP "\-v, \-\-version" |
48 | Print GNUnet version number. | 40 | Print GNUnet version number. |
49 | 41 | ||
diff --git a/doc/man/gnunet-gns-proxy-setup-ca.1 b/doc/man/gnunet-gns-proxy-setup-ca.1 new file mode 100644 index 000000000..54df856eb --- /dev/null +++ b/doc/man/gnunet-gns-proxy-setup-ca.1 | |||
@@ -0,0 +1,64 @@ | |||
1 | .Dd March 6, 2019 | ||
2 | .Dt GNUNET-GNS-PROXY-SETUP-CA 1 | ||
3 | .Os | ||
4 | .Sh NAME | ||
5 | .Nm gnunet-gns-proxy-setup-ca | ||
6 | .Nd generate an X509 certificate for gnunet-gns-proxy and install it | ||
7 | .Sh SYNOPSIS | ||
8 | .Nm | ||
9 | .Op Fl c Ar FILE | ||
10 | .\".Op Fl f Ar FILE | ||
11 | .Op Fl h | ||
12 | .Op Fl v | ||
13 | .Op Fl V | ||
14 | .Sh DESCRIPTION | ||
15 | .Nm | ||
16 | is a shell script to generate X509 certificates for your gnunet-gns-proxy and to install it for both GNUnet and your web browser. | ||
17 | It currently supports Firefox and Chrome based browsers through the help of external helpers: certutil (nss) is used for the import into webbrowsers, openssl is used to generated the CA. | ||
18 | .Bl -tag -width Ds | ||
19 | .It Fl c Ar FILE | ||
20 | Use the configuration file FILE. | ||
21 | .\" .It Fl f | ||
22 | .\" Perform expansions of the variables used in the config value of gns-proxy. | ||
23 | .\" This will usually expand $GNUNET_DATA_HOME to represents its path. | ||
24 | .It Fl h | ||
25 | Print short help on options | ||
26 | .It Fl v | ||
27 | Print the version | ||
28 | .It Fl V | ||
29 | be verbose | ||
30 | .El | ||
31 | .Sh FILES | ||
32 | .Pa gnunet.conf | ||
33 | .Sh SEE ALSO | ||
34 | .Xr gnunet-gns 1 , | ||
35 | .Xr gnunet-gns-proxy 1 , | ||
36 | .Xr gnunet.conf 5 | ||
37 | .sp | ||
38 | The full documentation for gnunet is maintained as a Texinfo manual. | ||
39 | If the | ||
40 | .Xr info 1 | ||
41 | and gnunet programs are properly installed at your site, the command | ||
42 | .Bd -literal -offset indent -compact | ||
43 | info gnunet | ||
44 | .Ed | ||
45 | should give you access to the complete handbook, | ||
46 | .Bd -literal -offset indent -compact | ||
47 | info gnunet-c-tutorial | ||
48 | .Ed | ||
49 | will give you access to a tutorial for developers. | ||
50 | .sp | ||
51 | Depending on your installation, this information is also | ||
52 | available in | ||
53 | .Xr gnunet 7 and | ||
54 | .Xr gnunet-c-tutorial 7 . | ||
55 | .Sh HISTORY | ||
56 | This man page first appeared in GNUnet 0.11.1. | ||
57 | .Sh AUTHORS | ||
58 | This page was written by | ||
59 | .An ng0 Aq Mt ng0@gnunet.org . | ||
60 | .Sh BUGS | ||
61 | Report bugs by using | ||
62 | .Lk https://bugs.gnunet.org | ||
63 | or by sending electronic mail to | ||
64 | .Aq Mt bug-gnunet@gnu.org . | ||
diff --git a/doc/man/gnunet-gns-proxy.1 b/doc/man/gnunet-gns-proxy.1 index 6c12e2c09..603c5a28c 100644 --- a/doc/man/gnunet-gns-proxy.1 +++ b/doc/man/gnunet-gns-proxy.1 | |||
@@ -15,26 +15,20 @@ CA certificate has to be generated that is used by the proxy. Thus | |||
15 | of this proxy or the \-\-authority switch is used to specify an | 15 | of this proxy or the \-\-authority switch is used to specify an |
16 | appropriate CA certificate that is already trusted by the browser. | 16 | appropriate CA certificate that is already trusted by the browser. |
17 | .SH OPTIONS | 17 | .SH OPTIONS |
18 | .B | ||
19 | .IP "\-c FILENAME, \-\-config=FILENAME" | 18 | .IP "\-c FILENAME, \-\-config=FILENAME" |
20 | Use the configuration file FILENAME. | 19 | Use the configuration file FILENAME. |
21 | .B | ||
22 | .IP "\-a AUTHORITY, \-\-authority=AUTHORITY" | 20 | .IP "\-a AUTHORITY, \-\-authority=AUTHORITY" |
23 | Path to a PEM CA file that contains the certificate and private key of | 21 | Path to a PEM CA file that contains the certificate and private key of |
24 | the CA to use to assert the validity of GNS names. The default port is | 22 | the CA to use to assert the validity of GNS names. The default port is |
25 | specified in the configuration file for the gns service under | 23 | specified in the configuration file for the gns service under |
26 | "[gns-proxy]" PROXY_CACERT. | 24 | "[gns-proxy]" PROXY_CACERT. |
27 | .B | ||
28 | .IP "\-p PORT, \-\-port=PORT" | 25 | .IP "\-p PORT, \-\-port=PORT" |
29 | The port this proxy should listen on. Default is 7777. | 26 | The port this proxy should listen on. Default is 7777. |
30 | .B | ||
31 | .IP "\-h, \-\-help" | 27 | .IP "\-h, \-\-help" |
32 | Print short help on options. | 28 | Print short help on options. |
33 | .B | ||
34 | .IP "\-L LOGLEVEL, \-\-loglevel=LOGLEVEL" | 29 | .IP "\-L LOGLEVEL, \-\-loglevel=LOGLEVEL" |
35 | Use LOGLEVEL for logging. Valid values are DEBUG, INFO, WARNING and | 30 | Use LOGLEVEL for logging. Valid values are DEBUG, INFO, WARNING and |
36 | ERROR. | 31 | ERROR. |
37 | .B | ||
38 | .IP "\-v, \-\-version" | 32 | .IP "\-v, \-\-version" |
39 | Print GNUnet version number. | 33 | Print GNUnet version number. |
40 | .SH BUGS | 34 | .SH BUGS |
diff --git a/doc/man/gnunet-gns.1 b/doc/man/gnunet-gns.1 index 597297629..750c72d95 100644 --- a/doc/man/gnunet-gns.1 +++ b/doc/man/gnunet-gns.1 | |||
@@ -8,33 +8,26 @@ gnunet\-gns \- Access to GNU Name System | |||
8 | \fBgnunet\-gns\fP can be used to lookup and process GNU Name Service | 8 | \fBgnunet\-gns\fP can be used to lookup and process GNU Name Service |
9 | names. | 9 | names. |
10 | .SH OPTIONS | 10 | .SH OPTIONS |
11 | .B | ||
12 | .IP "\-c FILENAME, \-\-config=FILENAME" | 11 | .IP "\-c FILENAME, \-\-config=FILENAME" |
13 | Use the configuration file FILENAME. | 12 | Use the configuration file FILENAME. |
14 | .B | ||
15 | .IP "\-r, \-\-raw" | 13 | .IP "\-r, \-\-raw" |
16 | No unneeded output. | 14 | No unneeded output. |
17 | This is a quiet mode where only important information is displayed. | 15 | This is a quiet mode where only important information is displayed. |
18 | For example a lookup for an IP address will only yield the IP address, | 16 | For example a lookup for an IP address will only yield the IP address, |
19 | no descriptive text. | 17 | no descriptive text. |
20 | .B | ||
21 | .IP "\-h, \-\-help" | 18 | .IP "\-h, \-\-help" |
22 | Print short help on options. | 19 | Print short help on options. |
23 | .B | ||
24 | .IP "\-L LOGLEVEL, \-\-loglevel=LOGLEVEL" | 20 | .IP "\-L LOGLEVEL, \-\-loglevel=LOGLEVEL" |
25 | Use LOGLEVEL for logging. | 21 | Use LOGLEVEL for logging. |
26 | Valid values are DEBUG, INFO, WARNING and ERROR. | 22 | Valid values are DEBUG, INFO, WARNING and ERROR. |
27 | .B | ||
28 | .IP "\-u NAME, \-\-lookup=NAME" | 23 | .IP "\-u NAME, \-\-lookup=NAME" |
29 | Name to lookup. | 24 | Name to lookup. |
30 | Resolve the specified name using the GNU Name System. | 25 | Resolve the specified name using the GNU Name System. |
31 | .B | ||
32 | .IP "\-t TYPE, \-\-type=TYPE" | 26 | .IP "\-t TYPE, \-\-type=TYPE" |
33 | Resource Record Type (TYPE) to look for. | 27 | Resource Record Type (TYPE) to look for. |
34 | Supported TYPE's are: A, AAAA, CNAME, NS, PKEY, PSEU, TLSA, SRV, SOA, | 28 | Supported TYPE's are: A, AAAA, CNAME, NS, PKEY, PSEU, TLSA, SRV, SOA, |
35 | MX, LEHO, VPN, REV, PTR, TXT. | 29 | MX, LEHO, VPN, REV, PTR, TXT. |
36 | Defaults to "A". | 30 | Defaults to "A". |
37 | .B | ||
38 | .IP "\-v, \-\-version" | 31 | .IP "\-v, \-\-version" |
39 | Print GNUnet version number. | 32 | Print GNUnet version number. |
40 | .SH RETURN VALUE | 33 | .SH RETURN VALUE |
diff --git a/doc/man/gnunet-namecache.1 b/doc/man/gnunet-namecache.1 index 78acb017b..06946e387 100644 --- a/doc/man/gnunet-namecache.1 +++ b/doc/man/gnunet-namecache.1 | |||
@@ -13,23 +13,17 @@ gnunet\-namecache \- inspect namecache | |||
13 | namecache. | 13 | namecache. |
14 | 14 | ||
15 | .SH OPTIONS | 15 | .SH OPTIONS |
16 | .B | ||
17 | .IP "\-c FILENAME, \-\-config=FILENAME" | 16 | .IP "\-c FILENAME, \-\-config=FILENAME" |
18 | Use the configuration file FILENAME. | 17 | Use the configuration file FILENAME. |
19 | .B | ||
20 | .IP "\-h, \-\-help" | 18 | .IP "\-h, \-\-help" |
21 | Print short help on options. | 19 | Print short help on options. |
22 | .B | ||
23 | .IP "\-L LOGLEVEL, \-\-loglevel=LOGLEVEL" | 20 | .IP "\-L LOGLEVEL, \-\-loglevel=LOGLEVEL" |
24 | Use LOGLEVEL for logging. Valid values are DEBUG, INFO, WARNING and | 21 | Use LOGLEVEL for logging. Valid values are DEBUG, INFO, WARNING and |
25 | ERROR. | 22 | ERROR. |
26 | .B | ||
27 | .IP "\-n NAME, \-\-name=NAME" | 23 | .IP "\-n NAME, \-\-name=NAME" |
28 | Name (label) of the record to display (mandatory option) | 24 | Name (label) of the record to display (mandatory option) |
29 | .B | ||
30 | .IP "\-v, \-\-version" | 25 | .IP "\-v, \-\-version" |
31 | Print GNUnet version number. | 26 | Print GNUnet version number. |
32 | .B | ||
33 | .IP "\-z PKEY, \-\-zone=PKEY" | 27 | .IP "\-z PKEY, \-\-zone=PKEY" |
34 | Specifies the public key of the zone to inspect (mandatory option) | 28 | Specifies the public key of the zone to inspect (mandatory option) |
35 | 29 | ||
diff --git a/doc/man/gnunet-namestore-fcfsd.1 b/doc/man/gnunet-namestore-fcfsd.1 index a6c9d2b32..c1eca224f 100644 --- a/doc/man/gnunet-namestore-fcfsd.1 +++ b/doc/man/gnunet-namestore-fcfsd.1 | |||
@@ -27,20 +27,15 @@ pseudonym (using "gnunet\-identity \-C NAME"), and use it with the | |||
27 | "-z" option. After that, you can start the FCFSD service (possibly using | 27 | "-z" option. After that, you can start the FCFSD service (possibly using |
28 | gnunet\-arm). | 28 | gnunet\-arm). |
29 | .SH OPTIONS | 29 | .SH OPTIONS |
30 | .B | ||
31 | .IP "\-c FILENAME, \-\-config=FILENAME" | 30 | .IP "\-c FILENAME, \-\-config=FILENAME" |
32 | Use the configuration file FILENAME. | 31 | Use the configuration file FILENAME. |
33 | .B | ||
34 | .IP "\-h, \-\-help" | 32 | .IP "\-h, \-\-help" |
35 | Print short help on options. | 33 | Print short help on options. |
36 | .B | ||
37 | .IP "\-L LOGLEVEL, \-\-loglevel=LOGLEVEL" | 34 | .IP "\-L LOGLEVEL, \-\-loglevel=LOGLEVEL" |
38 | Use LOGLEVEL for logging. Valid values are DEBUG, INFO, WARNING and | 35 | Use LOGLEVEL for logging. Valid values are DEBUG, INFO, WARNING and |
39 | ERROR. | 36 | ERROR. |
40 | .B | ||
41 | .IP "\-v, \-\-version" | 37 | .IP "\-v, \-\-version" |
42 | Print GNUnet version number. | 38 | Print GNUnet version number. |
43 | .B | ||
44 | .IP "\-z EGO, \-\-zone=EGO" | 39 | .IP "\-z EGO, \-\-zone=EGO" |
45 | Specifies for which EGO should FCFSD manage the zone. | 40 | Specifies for which EGO should FCFSD manage the zone. |
46 | .SH BUGS | 41 | .SH BUGS |
diff --git a/doc/man/gnunet-namestore.1 b/doc/man/gnunet-namestore.1 index 7517a4f5e..6a824cc47 100644 --- a/doc/man/gnunet-namestore.1 +++ b/doc/man/gnunet-namestore.1 | |||
@@ -12,13 +12,10 @@ gnunet\-namestore \- manipulate GNU Name System (GNS) zone data | |||
12 | \fBgnunet\-namestore\fP can be used to manipulate records in a GNS zone. | 12 | \fBgnunet\-namestore\fP can be used to manipulate records in a GNS zone. |
13 | 13 | ||
14 | .SH OPTIONS | 14 | .SH OPTIONS |
15 | .B | ||
16 | .IP "\-a, \-\-add" | 15 | .IP "\-a, \-\-add" |
17 | Desired operation is adding a record | 16 | Desired operation is adding a record |
18 | .B | ||
19 | .IP "\-c FILENAME, \-\-config=FILENAME" | 17 | .IP "\-c FILENAME, \-\-config=FILENAME" |
20 | Use the configuration file FILENAME. | 18 | Use the configuration file FILENAME. |
21 | .B | ||
22 | .IP "\-d, \-\-delete" | 19 | .IP "\-d, \-\-delete" |
23 | Desired operation is deleting records under the given name that match | 20 | Desired operation is deleting records under the given name that match |
24 | the specified type (\-t) and value (\-V). If type or value are not | 21 | the specified type (\-t) and value (\-V). If type or value are not |
@@ -26,41 +23,31 @@ specified, it means that all types (or values) should be assumed to | |||
26 | match (and possibly multiple or all values under the given label will | 23 | match (and possibly multiple or all values under the given label will |
27 | be deleted). Specifying a label (\-n) is mandatory. Note that | 24 | be deleted). Specifying a label (\-n) is mandatory. Note that |
28 | matching by expiration time or flags is (currently) not supported. | 25 | matching by expiration time or flags is (currently) not supported. |
29 | .B | ||
30 | .IP "\-D, \-\-display" | 26 | .IP "\-D, \-\-display" |
31 | Desired operation is listing of matching records | 27 | Desired operation is listing of matching records |
32 | .B | ||
33 | .IP "\-e TIME, \-\-expiration=TIME" | 28 | .IP "\-e TIME, \-\-expiration=TIME" |
34 | Specifies expiration time of record to add; format is relative time, | 29 | Specifies expiration time of record to add; format is relative time, |
35 | i.e "1 h" or "7 d 30 m". Supported units are "ms", "s", "min" or | 30 | i.e "1 h" or "7 d 30 m". Supported units are "ms", "s", "min" or |
36 | "minutes", "h" (hours), "d" (days) and "a" (years). | 31 | "minutes", "h" (hours), "d" (days) and "a" (years). |
37 | .B | ||
38 | .IP "\-h, \-\-help" | 32 | .IP "\-h, \-\-help" |
39 | Print short help on options. | 33 | Print short help on options. |
40 | .B | ||
41 | .IP "\-i NICKNAME, \-\-nick=NICKNAME" | 34 | .IP "\-i NICKNAME, \-\-nick=NICKNAME" |
42 | Set the desired NICKNAME for the zone. The nickname will be included | 35 | Set the desired NICKNAME for the zone. The nickname will be included |
43 | in all (public) records and used as the suggested name for this zone. | 36 | in all (public) records and used as the suggested name for this zone. |
44 | .B | ||
45 | .IP "\-L LOGLEVEL, \-\-loglevel=LOGLEVEL" | 37 | .IP "\-L LOGLEVEL, \-\-loglevel=LOGLEVEL" |
46 | Use LOGLEVEL for logging. Valid values are DEBUG, INFO, WARNING and | 38 | Use LOGLEVEL for logging. Valid values are DEBUG, INFO, WARNING and |
47 | ERROR. | 39 | ERROR. |
48 | .B | ||
49 | .IP "\-m, \-\-monitor" | 40 | .IP "\-m, \-\-monitor" |
50 | Monitor changes to the zone on an ongoing basis (in contrast to \-D, | 41 | Monitor changes to the zone on an ongoing basis (in contrast to \-D, |
51 | which merely displays the current records) | 42 | which merely displays the current records) |
52 | .B | ||
53 | .IP "\-n NAME, \-\-name=NAME" | 43 | .IP "\-n NAME, \-\-name=NAME" |
54 | Label or name of the record to add/delete/display | 44 | Label or name of the record to add/delete/display |
55 | .B | ||
56 | .IP "\-p, \-\-public" | 45 | .IP "\-p, \-\-public" |
57 | Create a record that is public (shared with other users that know the | 46 | Create a record that is public (shared with other users that know the |
58 | label) | 47 | label) |
59 | .B | ||
60 | .IP "\-r PKEY, \-\-reverse=PKEY" | 48 | .IP "\-r PKEY, \-\-reverse=PKEY" |
61 | Determine our GNS name for the given public key (reverse lookup of the | 49 | Determine our GNS name for the given public key (reverse lookup of the |
62 | PKEY) in the given zone. | 50 | PKEY) in the given zone. |
63 | .B | ||
64 | .IP "\-R RECORDLINE, \-\-replace=RECORDLINE" | 51 | .IP "\-R RECORDLINE, \-\-replace=RECORDLINE" |
65 | Sets record set to values given in RECORDLINE. This option can be specified multiple | 52 | Sets record set to values given in RECORDLINE. This option can be specified multiple |
66 | times to provide multiple records for the record set. Existing records under the | 53 | times to provide multiple records for the record set. Existing records under the |
@@ -69,29 +56,23 @@ same label will be deleted. The format for the RECORDLINE is | |||
69 | be given explicitly, seconds is always implied), TYPE is the | 56 | be given explicitly, seconds is always implied), TYPE is the |
70 | DNS/GNS record type, FLAGS is "(N)ORMAL", "(S)HADOW" or "(P)UBLIC". The VALUE | 57 | DNS/GNS record type, FLAGS is "(N)ORMAL", "(S)HADOW" or "(P)UBLIC". The VALUE |
71 | follows the usual human-readable value format(s) of DNS/GNS. | 58 | follows the usual human-readable value format(s) of DNS/GNS. |
72 | .B | ||
73 | .IP "\-s, \-\-shadow" | 59 | .IP "\-s, \-\-shadow" |
74 | Create a record that is a shadow record. Shadow records are only used | 60 | Create a record that is a shadow record. Shadow records are only used |
75 | once all other records of the same type under the same label have | 61 | once all other records of the same type under the same label have |
76 | expired. | 62 | expired. |
77 | .B | ||
78 | .IP "\-t TYPE, \-\-type=TYPE" | 63 | .IP "\-t TYPE, \-\-type=TYPE" |
79 | Type of the record to add/delete/display (i.e. "A", "AAAA", "NS", | 64 | Type of the record to add/delete/display (i.e. "A", "AAAA", "NS", |
80 | "PKEY", "MX" etc.) | 65 | "PKEY", "MX" etc.) |
81 | .B | ||
82 | .IP "\-u URI, \-\-uri=URI" | 66 | .IP "\-u URI, \-\-uri=URI" |
83 | Add PKEY record from gnunet://gns/-URI to our zone; the record type is | 67 | Add PKEY record from gnunet://gns/-URI to our zone; the record type is |
84 | always PKEY, if no expiration is given FOREVER is used | 68 | always PKEY, if no expiration is given FOREVER is used |
85 | .B | ||
86 | .IP "\-v, \-\-version" | 69 | .IP "\-v, \-\-version" |
87 | Print GNUnet version number. | 70 | Print GNUnet version number. |
88 | .B | ||
89 | .IP "\-V VALUE, \-\-value=VALUE" | 71 | .IP "\-V VALUE, \-\-value=VALUE" |
90 | Value to store or remove from the GNS zone. Specific format depends | 72 | Value to store or remove from the GNS zone. Specific format depends |
91 | on the record type. A records expect a dotted decimal IPv4 address, | 73 | on the record type. A records expect a dotted decimal IPv4 address, |
92 | AAAA records an IPv6 address, PKEY a public key in GNUnet's printable | 74 | AAAA records an IPv6 address, PKEY a public key in GNUnet's printable |
93 | format, and CNAME and NS records should be a domain name. | 75 | format, and CNAME and NS records should be a domain name. |
94 | .B | ||
95 | .IP "\-z EGO, \-\-zone=EGO" | 76 | .IP "\-z EGO, \-\-zone=EGO" |
96 | Specifies the name of the ego controlling the private key for the zone | 77 | Specifies the name of the ego controlling the private key for the zone |
97 | (mandatory option) | 78 | (mandatory option) |
diff --git a/doc/man/gnunet-nat-auto.1 b/doc/man/gnunet-nat-auto.1 index 8514a5c99..efd4b5df1 100644 --- a/doc/man/gnunet-nat-auto.1 +++ b/doc/man/gnunet-nat-auto.1 | |||
@@ -8,22 +8,17 @@ gnunet\-nat\-auto \- autoconfigure and test NAT traversal | |||
8 | This tool allows testing various NAT traversal functions, as well | 8 | This tool allows testing various NAT traversal functions, as well |
9 | as attempting auto\-configuration. | 9 | as attempting auto\-configuration. |
10 | .SH OPTIONS | 10 | .SH OPTIONS |
11 | .B | ||
12 | .IP "\-a, \-\-auto" | 11 | .IP "\-a, \-\-auto" |
13 | Attempt auto\-configuration for NAT traversal. | 12 | Attempt auto\-configuration for NAT traversal. |
14 | .B | ||
15 | .IP "\-c FILENAME, \-\-config=FILENAME" | 13 | .IP "\-c FILENAME, \-\-config=FILENAME" |
16 | Use the configuration file FILENAME. | 14 | Use the configuration file FILENAME. |
17 | .B | ||
18 | .IP "\-S NAME, \-\-section=NAME" | 15 | .IP "\-S NAME, \-\-section=NAME" |
19 | Name of the configuration section with details about the configuration | 16 | Name of the configuration section with details about the configuration |
20 | to test. For example "transport-tcp". | 17 | to test. For example "transport-tcp". |
21 | .IP "\-t, \-\-tcp" | 18 | .IP "\-t, \-\-tcp" |
22 | Use TCP. | 19 | Use TCP. |
23 | .B | ||
24 | .IP "\-u, \-\-udp" | 20 | .IP "\-u, \-\-udp" |
25 | Use UDP. | 21 | Use UDP. |
26 | .B | ||
27 | .IP "\-w, \-\-write" | 22 | .IP "\-w, \-\-write" |
28 | Write configuration to configuration file, useful in combination with | 23 | Write configuration to configuration file, useful in combination with |
29 | autoconfiguration (\-a). | 24 | autoconfiguration (\-a). |
diff --git a/doc/man/gnunet-nat-server.1 b/doc/man/gnunet-nat-server.1 index f31e69b26..8cb995f7c 100644 --- a/doc/man/gnunet-nat-server.1 +++ b/doc/man/gnunet-nat-server.1 | |||
@@ -41,7 +41,6 @@ gnunet\-nat\-server is run on should be specified in the NATSERVER | |||
41 | option in the [setup] section of the configuration file of hosts that | 41 | option in the [setup] section of the configuration file of hosts that |
42 | are supposed to autoconfigure with this server. | 42 | are supposed to autoconfigure with this server. |
43 | .SH OPTIONS | 43 | .SH OPTIONS |
44 | .B | ||
45 | .IP "\-c FILENAME, \-\-config=FILENAME" | 44 | .IP "\-c FILENAME, \-\-config=FILENAME" |
46 | Use the configuration file FILENAME. | 45 | Use the configuration file FILENAME. |
47 | .SH BUGS | 46 | .SH BUGS |
diff --git a/doc/man/gnunet-nat.1 b/doc/man/gnunet-nat.1 index 4a6a56e97..fe9272ea5 100644 --- a/doc/man/gnunet-nat.1 +++ b/doc/man/gnunet-nat.1 | |||
@@ -8,38 +8,28 @@ gnunet\-nat \- interact with the NAT service | |||
8 | This tool allows testing various NAT traversal functions, as well as | 8 | This tool allows testing various NAT traversal functions, as well as |
9 | attempting auto\-configuration. | 9 | attempting auto\-configuration. |
10 | .SH OPTIONS | 10 | .SH OPTIONS |
11 | .B | ||
12 | .IP "\-b ADDRESS, \-\-bind=ADDRESS" | 11 | .IP "\-b ADDRESS, \-\-bind=ADDRESS" |
13 | Assume that the service is (locally) bound to ADDRESS. | 12 | Assume that the service is (locally) bound to ADDRESS. |
14 | .B | ||
15 | .IP "\-c FILENAME, \-\-config=FILENAME" | 13 | .IP "\-c FILENAME, \-\-config=FILENAME" |
16 | Use the configuration file FILENAME. | 14 | Use the configuration file FILENAME. |
17 | .B | ||
18 | .IP "\-e ADDRESS, \-\-external=ADDRESS" | 15 | .IP "\-e ADDRESS, \-\-external=ADDRESS" |
19 | Assume that ADDRESS is the globally visible address of the peer. | 16 | Assume that ADDRESS is the globally visible address of the peer. |
20 | .B | ||
21 | .IP "\-i ADDRESS, \-\-in=ADDRESS" | 17 | .IP "\-i ADDRESS, \-\-in=ADDRESS" |
22 | Assuming we are listening at ADDRESS for connection reversal requests. | 18 | Assuming we are listening at ADDRESS for connection reversal requests. |
23 | .B | ||
24 | .IP "\-r ADDRESS, \-\-remote=ADDRESS" | 19 | .IP "\-r ADDRESS, \-\-remote=ADDRESS" |
25 | Ask the peer at ADDRESS for connection reversal, using the local | 20 | Ask the peer at ADDRESS for connection reversal, using the local |
26 | address for the target address of the reversal. | 21 | address for the target address of the reversal. |
27 | .B | ||
28 | .IP "\-S NAME, \-\-section=NAME" | 22 | .IP "\-S NAME, \-\-section=NAME" |
29 | Name of section in configuration file to use for additional options. | 23 | Name of section in configuration file to use for additional options. |
30 | .B | ||
31 | .IP "\-s, \-\-stun" | 24 | .IP "\-s, \-\-stun" |
32 | Enable processing of STUN requests. | 25 | Enable processing of STUN requests. |
33 | Will try to read UDP packets from the bind address and handle the | 26 | Will try to read UDP packets from the bind address and handle the |
34 | packets if they are STUN packets. | 27 | packets if they are STUN packets. |
35 | Will only work with UDP. | 28 | Will only work with UDP. |
36 | .B | ||
37 | .IP "\-t, \-\-tcp" | 29 | .IP "\-t, \-\-tcp" |
38 | Use TCP. | 30 | Use TCP. |
39 | .B | ||
40 | .IP "\-u, \-\-udp" | 31 | .IP "\-u, \-\-udp" |
41 | Use UDP. | 32 | Use UDP. |
42 | .B | ||
43 | .IP "\-W, \-\-watch" | 33 | .IP "\-W, \-\-watch" |
44 | Watch for connection reversal requests. | 34 | Watch for connection reversal requests. |
45 | .SH EXAMPLES | 35 | .SH EXAMPLES |
diff --git a/doc/man/gnunet-nse.1 b/doc/man/gnunet-nse.1 new file mode 100644 index 000000000..151ba4957 --- /dev/null +++ b/doc/man/gnunet-nse.1 | |||
@@ -0,0 +1,65 @@ | |||
1 | .Dd March 6, 2019 | ||
2 | .Dt GNUNET-NSE 1 | ||
3 | .Os | ||
4 | .Sh NAME | ||
5 | .Nm gnunet-nse | ||
6 | .Nd show network size estimates from NSE service | ||
7 | .Sh SYNOPSIS | ||
8 | .Nm | ||
9 | .Op Fl c Ar file | Fl -config Ns = Ns file | ||
10 | .Op Fl h | \-help | ||
11 | .Op Fl l file | Fl -logfile Ns = Ns file | ||
12 | .Op Fl L Ar loglevel | Fl -loglevel Ns = Ns loglevel | ||
13 | .Op Fl v | \-version | ||
14 | .Sh DESCRIPTION | ||
15 | .Nm | ||
16 | is a command line tool to show network size estimates from the NSE service of GNUnet. | ||
17 | .Bl -tag -width Ds | ||
18 | .It Fl c Ar file | Fl -config Ns = Ns file | ||
19 | Use the configuration file FILENAME. | ||
20 | .It Fl h | \-help | ||
21 | Print short help on options. | ||
22 | .It Fl l file | Fl -logfile Ns = Ns file | ||
23 | Configure logging to write logs to LOGFILE. | ||
24 | .It Fl L Ar loglevel | Fl -loglevel Ns = Ns loglevel | ||
25 | Use LOGLEVEL for logging. | ||
26 | Valid values are DEBUG, INFO, WARNING and ERROR. | ||
27 | .It Fl v | \-version | ||
28 | Print GNUnet version number. | ||
29 | .El | ||
30 | .Sh FILES | ||
31 | .Pa gnunet.conf | ||
32 | Configuration file for gnunet. | ||
33 | .Sh SEE ALSO | ||
34 | .Xr gnunet.conf 5 | ||
35 | .sp | ||
36 | The full documentation for gnunet is maintained as a Texinfo manual. | ||
37 | If the | ||
38 | .Xr info 1 | ||
39 | gnunet programs are properly installed at your site, the command | ||
40 | .Bd -literal -offset indent -compact | ||
41 | info gnunet | ||
42 | .Ed | ||
43 | should give you access to the complete handbook, | ||
44 | .Bd -literal -offset indent -compact | ||
45 | info gnunet-c-tutorial | ||
46 | .Ed | ||
47 | will give you access to a tutorial for developers. | ||
48 | .sp | ||
49 | Depending on your installation, this information is also | ||
50 | available in | ||
51 | .Xr gnunet 7 and | ||
52 | .Xr gnunet-c-tutorial 7 . | ||
53 | .Sh HISTORY | ||
54 | This man page first appeared in GNUnet 0.11.1. | ||
55 | .Sh AUTHORS | ||
56 | This page was originally written by | ||
57 | .An Bertrand Marc Aq Mt bmarc@debian.org | ||
58 | for Debian's gnunet package (man page date: 2014). | ||
59 | Further edits and conversion to mdoc were done by | ||
60 | .An ng0 Aq Mt ng0@gnunet.org . | ||
61 | .Sh BUGS | ||
62 | Report bugs by using | ||
63 | .Lk https://bugs.gnunet.org | ||
64 | or by sending electronic mail to | ||
65 | .Aq Mt bug-gnunet@gnu.org . | ||
diff --git a/doc/man/gnunet-peerinfo.1 b/doc/man/gnunet-peerinfo.1 index bd37fa635..88094fa10 100644 --- a/doc/man/gnunet-peerinfo.1 +++ b/doc/man/gnunet-peerinfo.1 | |||
@@ -8,39 +8,28 @@ gnunet\-peerinfo \- Display information about other peers. | |||
8 | .PP | 8 | .PP |
9 | \fBgnunet\-peerinfo\fP display the known addresses and trust of known peers. | 9 | \fBgnunet\-peerinfo\fP display the known addresses and trust of known peers. |
10 | .SH OPTIONS | 10 | .SH OPTIONS |
11 | .B | ||
12 | .IP "\-c FILENAME, \-\-config=FILENAME" | 11 | .IP "\-c FILENAME, \-\-config=FILENAME" |
13 | Load config file (default: ~/.config/gnunet.conf) | 12 | Load config file (default: ~/.config/gnunet.conf) |
14 | .B | ||
15 | .IP "\-g, \-\-get\-hello" | 13 | .IP "\-g, \-\-get\-hello" |
16 | Output HELLO uri(s) | 14 | Output HELLO uri(s) |
17 | .B | ||
18 | .IP "\-h, \-\-help" | 15 | .IP "\-h, \-\-help" |
19 | Print help page | 16 | Print help page |
20 | .B | ||
21 | .IP "\-i, \-\-info" | 17 | .IP "\-i, \-\-info" |
22 | List all known peers (and their addresses) | 18 | List all known peers (and their addresses) |
23 | .B | ||
24 | .IP "\-L LOGLEVEL, \-\-loglevel=LOGLEVEL" | 19 | .IP "\-L LOGLEVEL, \-\-loglevel=LOGLEVEL" |
25 | Set the loglevel | 20 | Set the loglevel |
26 | .B | ||
27 | .IP "\-l LOGFILE, \-\-logfile=LOGFILE" | 21 | .IP "\-l LOGFILE, \-\-logfile=LOGFILE" |
28 | Log messages to LOGFILE | 22 | Log messages to LOGFILE |
29 | .B | ||
30 | .IP "\-n, \-\-numeric" | 23 | .IP "\-n, \-\-numeric" |
31 | Disable resolution of IPs to hostnames | 24 | Disable resolution of IPs to hostnames |
32 | .B | ||
33 | .IP "\-p, \-\-put\-hello=HELLO" | 25 | .IP "\-p, \-\-put\-hello=HELLO" |
34 | Add given HELLO uri to the database | 26 | Add given HELLO uri to the database |
35 | .B | ||
36 | .IP "\-q, \-\-quiet" | 27 | .IP "\-q, \-\-quiet" |
37 | Do not print anything but the peer identities | 28 | Do not print anything but the peer identities |
38 | .B | ||
39 | .IP "\-s, \-\-self" | 29 | .IP "\-s, \-\-self" |
40 | Print only our own identity (together with "\-q", this is the exact | 30 | Print only our own identity (together with "\-q", this is the exact |
41 | line that other peers would have to put in to their friends file in | 31 | line that other peers would have to put in to their friends file in |
42 | order to consider this peer one of their friends in F2F mode). | 32 | order to consider this peer one of their friends in F2F mode). |
43 | .B | ||
44 | .IP "\-v, \-\-version" | 33 | .IP "\-v, \-\-version" |
45 | Print the version number | 34 | Print the version number |
46 | .SH BUGS | 35 | .SH BUGS |
diff --git a/doc/man/gnunet-publish.1 b/doc/man/gnunet-publish.1 index b07208732..5f774580b 100644 --- a/doc/man/gnunet-publish.1 +++ b/doc/man/gnunet-publish.1 | |||
@@ -112,9 +112,9 @@ default is ~/.config/gnunet.conf). | |||
112 | Disable use of GNU libextractor for finding additional keywords and | 112 | Disable use of GNU libextractor for finding additional keywords and |
113 | metadata. | 113 | metadata. |
114 | .TP | 114 | .TP |
115 | \fB\-d\fR, \fB\-\-disable\-creation\-time\fR | 115 | \fB\-E\fR, \fB\-\-enable\-creation\-time\fR |
116 | Disable use of creation time timestamp in metadata. | 116 | Enable use of creation time timestamp in metadata. |
117 | Useful to make created directories deterministic and to avoid leaking | 117 | Setting this information will leak |
118 | information about the time at which a file was made available. | 118 | information about the time at which a file was made available. |
119 | .TP | 119 | .TP |
120 | \fB\-e\fR, \fB\-\-extract\fR | 120 | \fB\-e\fR, \fB\-\-extract\fR |
diff --git a/doc/man/gnunet-qr.1 b/doc/man/gnunet-qr.1 index 0145a3523..2aabe6b22 100644 --- a/doc/man/gnunet-qr.1 +++ b/doc/man/gnunet-qr.1 | |||
@@ -1,49 +1,53 @@ | |||
1 | .TH GNUNET\-QR 1 "September 13, 2014" "GNUnet" | 1 | .Dd September 13, 2014 |
2 | .SH NAME | 2 | .Dt GNUNET-QR 1 |
3 | gnunet\-qr \- Scan a QR code using a video device and import. | 3 | .Os |
4 | .SH SYNOPSIS | 4 | .Sh NAME |
5 | .B gnunet\-qr | 5 | .Nm gnunet-qr |
6 | .RI [ options ] | 6 | .Nd |
7 | .br | 7 | scan a QR code using a video device and import |
8 | .SH DESCRIPTION | 8 | .Sh SYNOPSIS |
9 | \fBgnunet\-qr\fP is a command line tool to scan a QR code using a | 9 | .Nm |
10 | video device and import. | 10 | .Op Fl c Ar FILENAME | Fl \-config= Ns Ar FILENAME |
11 | .SH OPTIONS | 11 | .Op Fl d Ar DEVICE | Fl \-device= Ns Ar DEVICE |
12 | .B | 12 | .Op Fl h | \-help |
13 | .IP "\-c FILENAME, \-\-config=FILENAME" | 13 | .Op Fl s | \-silent |
14 | .Op Fl v | \-verbose | ||
15 | .Sh DESCRIPTION | ||
16 | .Nm | ||
17 | is a command line tool to scan a QR code using a video device and import. | ||
18 | .Bl -tag -width Ds | ||
19 | .It Fl c Ar FILENAME | Fl \-config= Ns Ar FILENAME | ||
14 | Use the configuration file FILENAME. | 20 | Use the configuration file FILENAME. |
15 | .B | 21 | .It Fl d Ar DEVICE | Fl \-device= Ns Ar DEVICE |
16 | .IP "\-d DEVICE, \-\-device=DEVICE" | ||
17 | Use device DEVICE. | 22 | Use device DEVICE. |
18 | .B | 23 | .It Fl h | \-help |
19 | .IP "\-h, \-\-help" | ||
20 | Print short help on options. | 24 | Print short help on options. |
21 | .B | 25 | .It Fl s | \-silent |
22 | .IP "\-s, \-\-silent" | ||
23 | Do not show preview windows. | 26 | Do not show preview windows. |
24 | .B | 27 | .It Fl v | \-verbose |
25 | .IP "\-v, \-\-verbose" | ||
26 | Be verbose. | 28 | Be verbose. |
27 | .SH BUGS | 29 | .El |
28 | Report bugs by using Mantis <https://bugs.gnunet.org/> or by sending | 30 | .Sh SEE ALSO |
29 | electronic mail to <gnunet\-developers@gnu.org> | 31 | The full documentation for gnunet is maintained as a Texinfo manual. |
30 | .SH SEE ALSO | 32 | If the |
31 | The full documentation for | 33 | .Xr info 1 |
32 | .B gnunet | 34 | and gnunet programs are properly installed at your site, the command |
33 | is maintained as a Texinfo manual. If the | 35 | .Pp |
34 | .B info | 36 | .Dl info gnunet |
35 | and | 37 | .Pp |
36 | .B gnunet | ||
37 | programs are properly installed at your site, the command | ||
38 | .IP | ||
39 | .B info gnunet | ||
40 | .PP | ||
41 | should give you access to the complete handbook, | 38 | should give you access to the complete handbook, |
42 | .IP | 39 | .Pp |
43 | .B info gnunet-c-tutorial | 40 | .Dl info gnunet-c-tutorial |
44 | .PP | 41 | .Pp |
45 | will give you access to a tutorial for developers. | 42 | will give you access to a tutorial for developers. |
46 | .PP | 43 | .sp |
47 | Depending on your installation, this information is also | 44 | Depending on your installation, this information is also available in |
48 | available in | 45 | .Xr gnunet 7 and |
49 | \fBgnunet\fP(7) and \fBgnunet-c-tutorial\fP(7). | 46 | .Xr gnunet-c-tutorial 7 . |
47 | .\".Sh HISTORY | ||
48 | .\".Sh AUTHORS | ||
49 | .Sh BUGS | ||
50 | Report bugs by using | ||
51 | .Lk https://bugs.gnunet.org | ||
52 | or by sending electronic mail to | ||
53 | .Aq Mt gnunet-developers@gnu.org . | ||
diff --git a/doc/man/gnunet-resolver.1 b/doc/man/gnunet-resolver.1 index 66f1ba9a8..494131d01 100644 --- a/doc/man/gnunet-resolver.1 +++ b/doc/man/gnunet-resolver.1 | |||
@@ -7,23 +7,17 @@ gnunet\-resolver \- build-in GNUnet stub resolver | |||
7 | .SH DESCRIPTION | 7 | .SH DESCRIPTION |
8 | \fBgnunet\-resolver\fP uses build-in GNUnet stub resolver. | 8 | \fBgnunet\-resolver\fP uses build-in GNUnet stub resolver. |
9 | .SH OPTIONS | 9 | .SH OPTIONS |
10 | .B | ||
11 | .IP "\-c FILENAME, \-\-config=FILENAME" | 10 | .IP "\-c FILENAME, \-\-config=FILENAME" |
12 | Use the configuration file FILENAME. | 11 | Use the configuration file FILENAME. |
13 | .B | ||
14 | .IP "\-h, \-\-help" | 12 | .IP "\-h, \-\-help" |
15 | Print short help on options. | 13 | Print short help on options. |
16 | .B | ||
17 | .IP "\-L LOGLEVEL, \-\-loglevel=LOGLEVEL" | 14 | .IP "\-L LOGLEVEL, \-\-loglevel=LOGLEVEL" |
18 | Use LOGLEVEL for logging. Valid values are DEBUG, INFO, WARNING and | 15 | Use LOGLEVEL for logging. Valid values are DEBUG, INFO, WARNING and |
19 | ERROR. | 16 | ERROR. |
20 | .B | ||
21 | .IP "\-l LOGFILE, \-\-logfile=LOGFILE" | 17 | .IP "\-l LOGFILE, \-\-logfile=LOGFILE" |
22 | Configure logging to write logs to LOGFILE. | 18 | Configure logging to write logs to LOGFILE. |
23 | .B | ||
24 | .IP "\-r, \-\-reverse" | 19 | .IP "\-r, \-\-reverse" |
25 | Perform a reverse lookup. | 20 | Perform a reverse lookup. |
26 | .B | ||
27 | .IP "\-v, \-\-version" | 21 | .IP "\-v, \-\-version" |
28 | Print GNUnet version number. | 22 | Print GNUnet version number. |
29 | .SH BUGS | 23 | .SH BUGS |
diff --git a/doc/man/gnunet-revocation.1 b/doc/man/gnunet-revocation.1 index f21f82612..6fae373e7 100644 --- a/doc/man/gnunet-revocation.1 +++ b/doc/man/gnunet-revocation.1 | |||
@@ -28,19 +28,15 @@ expensive. Depending on your CPU, the calculation can take days or | |||
28 | weeks. | 28 | weeks. |
29 | 29 | ||
30 | .SH OPTIONS | 30 | .SH OPTIONS |
31 | .B | ||
32 | .IP "\-t KEY, \-\-test=KEY" | 31 | .IP "\-t KEY, \-\-test=KEY" |
33 | Check if the given KEY (ASCII\-encoded public key required) has been | 32 | Check if the given KEY (ASCII\-encoded public key required) has been |
34 | revoked. | 33 | revoked. |
35 | .B | ||
36 | .IP "\-R NAME, \-\-revoke=NAME" | 34 | .IP "\-R NAME, \-\-revoke=NAME" |
37 | Calculate or perform revocation for the ego with the given NAME. | 35 | Calculate or perform revocation for the ego with the given NAME. |
38 | .B | ||
39 | .IP "\-p, \-\-perform" | 36 | .IP "\-p, \-\-perform" |
40 | Actually perform the revocation as soon as possible (do not just | 37 | Actually perform the revocation as soon as possible (do not just |
41 | generate a revocation certificate, use it). Must be supplied to | 38 | generate a revocation certificate, use it). Must be supplied to |
42 | actually perform the revocation. | 39 | actually perform the revocation. |
43 | .B | ||
44 | .IP "\-f NAME, \-\-filename=NAME" | 40 | .IP "\-f NAME, \-\-filename=NAME" |
45 | Use NAME as the name of the file that is to contain the revocation | 41 | Use NAME as the name of the file that is to contain the revocation |
46 | certificate. Intermediate computation results will be stored here, as | 42 | certificate. Intermediate computation results will be stored here, as |
@@ -51,17 +47,13 @@ be performed instantly. If the given file contains anything (a valid | |||
51 | certificate, with or without the completed proof-of-work) there is no | 47 | certificate, with or without the completed proof-of-work) there is no |
52 | need to supply the "\-R" option or to still have the private key of | 48 | need to supply the "\-R" option or to still have the private key of |
53 | the ego to perform the revocation. | 49 | the ego to perform the revocation. |
54 | .B | ||
55 | .IP "\-c FILENAME, \-\-config=FILENAME" | 50 | .IP "\-c FILENAME, \-\-config=FILENAME" |
56 | Use the configuration file FILENAME. | 51 | Use the configuration file FILENAME. |
57 | .B | ||
58 | .IP "\-h, \-\-help" | 52 | .IP "\-h, \-\-help" |
59 | Print short help on options. | 53 | Print short help on options. |
60 | .B | ||
61 | .IP "\-L LOGLEVEL, \-\-loglevel=LOGLEVEL" | 54 | .IP "\-L LOGLEVEL, \-\-loglevel=LOGLEVEL" |
62 | Use LOGLEVEL for logging. Valid values are DEBUG, INFO, WARNING and | 55 | Use LOGLEVEL for logging. Valid values are DEBUG, INFO, WARNING and |
63 | ERROR. | 56 | ERROR. |
64 | .B | ||
65 | .IP "\-v, \-\-version" | 57 | .IP "\-v, \-\-version" |
66 | Print GNUnet version number. | 58 | Print GNUnet version number. |
67 | 59 | ||
diff --git a/doc/man/gnunet-scalarproduct.1 b/doc/man/gnunet-scalarproduct.1 index 1c8938daf..34d5e4ef0 100644 --- a/doc/man/gnunet-scalarproduct.1 +++ b/doc/man/gnunet-scalarproduct.1 | |||
@@ -42,34 +42,26 @@ The protocol by definition relies on \fBAlice\fP and \fBBob\fP being | |||
42 | benign, thus \fBBob\fP can arbitrarily falsify his information. Both | 42 | benign, thus \fBBob\fP can arbitrarily falsify his information. Both |
43 | peers collaborate to achieve a correct result. | 43 | peers collaborate to achieve a correct result. |
44 | .SH OPTIONS | 44 | .SH OPTIONS |
45 | .B | ||
46 | .IP "\-e ELEMENTS, \-\-elements=ELEMENTS" | 45 | .IP "\-e ELEMENTS, \-\-elements=ELEMENTS" |
47 | The element-vector the vectorproduct should be computed over in signed | 46 | The element-vector the vectorproduct should be computed over in signed |
48 | decimal form, eg: \"42,1,-3,3,7\". Zero value elements will be automatically masked. | 47 | decimal form, eg: \"42,1,-3,3,7\". Zero value elements will be automatically masked. |
49 | .B | ||
50 | .IP "\-m MASK, \-\-mask=MASK" | 48 | .IP "\-m MASK, \-\-mask=MASK" |
51 | Elements in the vector can be masked. There must be at least two | 49 | Elements in the vector can be masked. There must be at least two |
52 | elements left in the vector to compute a vectorproduct. Non-Zero | 50 | elements left in the vector to compute a vectorproduct. Non-Zero |
53 | values indicate an element is not maskes. | 51 | values indicate an element is not maskes. |
54 | .B | ||
55 | .IP "\-k KEY, \-\-key=KEY" | 52 | .IP "\-k KEY, \-\-key=KEY" |
56 | The session key, a shared string of arbitrary length from which the | 53 | The session key, a shared string of arbitrary length from which the |
57 | SID will be generated | 54 | SID will be generated |
58 | .B | ||
59 | .IP "\-c FILENAME, \-\-config=FILENAME" | 55 | .IP "\-c FILENAME, \-\-config=FILENAME" |
60 | Use the configuration file FILENAME. | 56 | Use the configuration file FILENAME. |
61 | .B | ||
62 | .IP "\-p PEERID, \-\-peer=PEERID" | 57 | .IP "\-p PEERID, \-\-peer=PEERID" |
63 | The remote peer\'s ASCII-armored gnunet-peer ID as output by | 58 | The remote peer\'s ASCII-armored gnunet-peer ID as output by |
64 | gnunet-peerinfo. If this option is not given, the peer will take the | 59 | gnunet-peerinfo. If this option is not given, the peer will take the |
65 | \fBBob\fP\'s role. | 60 | \fBBob\fP\'s role. |
66 | .B | ||
67 | .IP "\-h, \-\-help" | 61 | .IP "\-h, \-\-help" |
68 | Print short help on options. | 62 | Print short help on options. |
69 | .B | ||
70 | .IP "\-L LOGLEVEL, \-\-loglevel=LOGLEVEL" | 63 | .IP "\-L LOGLEVEL, \-\-loglevel=LOGLEVEL" |
71 | Use LOGLEVEL for logging. Valid values are DEBUG, INFO, WARNING and ERROR. | 64 | Use LOGLEVEL for logging. Valid values are DEBUG, INFO, WARNING and ERROR. |
72 | .B | ||
73 | .IP "\-v, \-\-version" | 65 | .IP "\-v, \-\-version" |
74 | Print GNUnet version number. | 66 | Print GNUnet version number. |
75 | .SH BUGS | 67 | .SH BUGS |
diff --git a/doc/man/gnunet-scrypt.1 b/doc/man/gnunet-scrypt.1 index 01ac4205a..545af37e9 100644 --- a/doc/man/gnunet-scrypt.1 +++ b/doc/man/gnunet-scrypt.1 | |||
@@ -5,34 +5,24 @@ gnunet\-scrypt \- Manipulate GNUnet proof of work files. | |||
5 | .B gnunet\-scrypt | 5 | .B gnunet\-scrypt |
6 | .RI [ options ] | 6 | .RI [ options ] |
7 | .SH DESCRIPTION | 7 | .SH DESCRIPTION |
8 | \fBgnunet\-scrypt\fP is a command line tool to manipulate GNUnet proof | 8 | \fBgnunet\-scrypt\fP is a command line tool to manipulate GNUnet proof of work files. |
9 | of work files. | ||
10 | .SH OPTIONS | 9 | .SH OPTIONS |
11 | .B | ||
12 | .IP "\-b BITS, \-\-bits=BITS" | 10 | .IP "\-b BITS, \-\-bits=BITS" |
13 | Number of bits to require for the proof of work. | 11 | Number of bits to require for the proof of work. |
14 | .B | ||
15 | .IP "\-c FILENAME, \-\-config=FILENAME" | 12 | .IP "\-c FILENAME, \-\-config=FILENAME" |
16 | Use the configuration file FILENAME. | 13 | Use the configuration file FILENAME. |
17 | .B | ||
18 | .IP "\-h, \-\-help" | 14 | .IP "\-h, \-\-help" |
19 | Print short help on options. | 15 | Print short help on options. |
20 | .B | ||
21 | .IP "\-k FILE, \-\-keyfile=FILE" | 16 | .IP "\-k FILE, \-\-keyfile=FILE" |
22 | File with private key, otherwise default is used. | 17 | File with private key, otherwise default is used. |
23 | .B | ||
24 | .IP "\-L LOGLEVEL, \-\-loglevel=LOGLEVEL" | 18 | .IP "\-L LOGLEVEL, \-\-loglevel=LOGLEVEL" |
25 | Use LOGLEVEL for logging. Valid values are DEBUG, INFO, WARNING and ERROR. | 19 | Use LOGLEVEL for logging. Valid values are DEBUG, INFO, WARNING and ERROR. |
26 | .B | ||
27 | .IP "\-l LOGFILE, \-\-logfile=LOGFILE" | 20 | .IP "\-l LOGFILE, \-\-logfile=LOGFILE" |
28 | Configure logging to write logs to LOGFILE. | 21 | Configure logging to write logs to LOGFILE. |
29 | .B | ||
30 | .IP "\-o FILE, \-\-outfile=FILE" | 22 | .IP "\-o FILE, \-\-outfile=FILE" |
31 | File with proof of work, otherwise default is used. | 23 | File with proof of work, otherwise default is used. |
32 | .B | ||
33 | .IP "\-t TIME, \-\-timeout=TIME" | 24 | .IP "\-t TIME, \-\-timeout=TIME" |
34 | Time to wait between calculations. | 25 | Time to wait between calculations. |
35 | .B | ||
36 | .IP "\-v, \-\-version" | 26 | .IP "\-v, \-\-version" |
37 | Print GNUnet version number. | 27 | Print GNUnet version number. |
38 | .SH BUGS | 28 | .SH BUGS |
diff --git a/doc/man/gnunet-statistics.1 b/doc/man/gnunet-statistics.1 index e61a8493c..c0d5e8fe3 100644 --- a/doc/man/gnunet-statistics.1 +++ b/doc/man/gnunet-statistics.1 | |||
@@ -1,73 +1,91 @@ | |||
1 | .TH GNUNET-STATISTICS 1 "January 4, 2012" "GNUnet" | 1 | .Dd January 4, 2012 |
2 | .SH NAME | 2 | .Dt GNUNET-STATISTICS 1 |
3 | gnunet\-statistics \- Display statistics about your GNUnet system | 3 | .Os |
4 | .SH SYNOPSIS | 4 | .Sh NAME |
5 | .B gnunet\-statistics | 5 | .Nm gnunet-statistics |
6 | .RI [ options ] | 6 | .Nd display statistics about your GNUnet system |
7 | .RI [ VALUE ] | 7 | .Sh SYNOPSIS |
8 | .SH DESCRIPTION | 8 | .Nm |
9 | \fBgnunet\-statistics\fP is used to display detailed information about | 9 | .Op Fl c Ar FILENAME | Fl \-config= Ns Ar FILENAME |
10 | various aspect of GNUnet's operation. This tool only works if the | 10 | .Op Fl h | \-help |
11 | "statistics" service is available. | 11 | .Op Fl L Ar LOGLEVEL | Fl \-loglevel= Ns Ar LOGLEVEL |
12 | gnunet\-statistics can be used to set a value by giving the options | 12 | .Op Fl l Ar FILENAME | Fl \-logfile= Ns Ar FILENAME |
13 | \-n, \-s and also a VALUE. | 13 | .Op Fl n Ar NAME | Fl \-name= Ns Ar NAME |
14 | .SH OPTIONS | 14 | .Op Fl o Ar PORT | Fl \-port= Ns Ar PORT |
15 | .B | 15 | .Op Fl p | \-persistent |
16 | .IP "\-c FILENAME, \-\-config=FILENAME" | 16 | .Op Fl q | \-quiet |
17 | .Op Fl r Ar REMOTE | Fl \-remote= Ns Ar REMOTE | ||
18 | .Op Fl S Ar SEPARATOR | Fl \-csv-separator= Ns Ar SEPARATOR | ||
19 | .Op Fl s Ar SUBSYSTEM | Fl \-subsystem= Ns Ar SUBSYSTEM | ||
20 | .Op Fl t Ar PATH | Fl \-testbed= Ns Ar PATH | ||
21 | .Op Fl v | \-version | ||
22 | .Op Fl w | \-watch | ||
23 | .Ao Ar VALUE Ac | ||
24 | .Sh DESCRIPTION | ||
25 | .Nm | ||
26 | is used to display detailed information about various aspect of GNUnet's operation. | ||
27 | This tool only works if the "statistics" service is available. | ||
28 | gnunet-statistics can be used to set a value by giving the options \-n, \-s and also a VALUE. | ||
29 | .Bl -tag -width Ds | ||
30 | .It Fl c Ar FILENAME | Fl \-config= Ns Ar FILENAME | ||
17 | Use the configuration file FILENAME. | 31 | Use the configuration file FILENAME. |
18 | .B | 32 | .It Fl h | \-help |
19 | .IP "\-h, \-\-help" | ||
20 | Print short help on options. | 33 | Print short help on options. |
21 | .B | 34 | .It Fl L Ar LOGLEVEL | Fl \-loglevel= Ns Ar LOGLEVEL |
22 | .IP "\-L LOGLEVEL, \-\-loglevel=LOGLEVEL" | ||
23 | Use LOGLEVEL for logging. Valid values are DEBUG, INFO, WARNING and ERROR. | 35 | Use LOGLEVEL for logging. Valid values are DEBUG, INFO, WARNING and ERROR. |
24 | .B | 36 | .It Fl l Ar FILENAME | Fl \-logfile= Ns Ar FILENAME |
25 | .IP "\-n NAME, \-\-name=NAME" | 37 | Configure logging to write logs to FILENAME |
26 | Each statistic has a name that is unique with in its subsystem. With | 38 | .It Fl n Ar NAME | Fl \-name= Ns Ar NAME |
27 | this option, the output can be restricted to statistics that have a | 39 | Each statistic has a NAME that is unique with in its subsystem. |
28 | particular name. | 40 | With this option, the output can be restricted to statistics that have a particular NAME. |
29 | .B | 41 | .It Fl o Ar PORT | Fl \-port= Ns Ar PORT |
30 | .IP "\-p, \-\-persistent" | 42 | PORT for remote host |
31 | When setting a value, make the value persistent. If the value used to | 43 | .It Fl p | \-persistent |
32 | be persistent and this flag is not given, it will be marked as | 44 | When setting a value, make the value persistent. |
33 | non\-persistent. | 45 | If the value used to be persistent and this flag is not given, it will be marked as non-persistent. |
34 | .B | 46 | .It Fl q | \-quiet |
35 | .IP "\-s SUBSYSTEM, \-\-subsystem=SUBSYSTEM" | 47 | Just print the statistics value |
36 | Statistics are kept for various subsystems. With this option, the | 48 | .It Fl r Ar REMOTE | Fl \-remote= Ns Ar REMOTE |
37 | output can be restricted to a particular subsystem only. | 49 | Connect to a remote host given as REMOTE. |
38 | .B | 50 | .It Fl S Ar SEPARATOR | Fl \-csv-separator= Ns Ar SEPARATOR |
39 | .IP "\-S SEPARATOR, \-\-csv-separator=SEPARATOR" | ||
40 | Specify a separator for generating csv-output. | 51 | Specify a separator for generating csv-output. |
41 | .B | 52 | .It Fl s Ar SUBSYSTEM | Fl \-subsystem= Ns Ar SUBSYSTEM |
42 | .IP "\-t TESTBED_PATH, \-\-subsystem=TESTBED_PATH" | 53 | Statistics are kept for various subsystems. |
54 | With this option, the output can be restricted to a particular subsystem only. | ||
55 | .It Fl t Ar PATH | Fl \-testbed= Ns Ar PATH | ||
43 | When running testbed, you can get statistics of all peers with specefying the | 56 | When running testbed, you can get statistics of all peers with specefying the |
44 | folder containing the data of all testbed nodes like \fBgnunet\-statistics -t /tmp/testbedARtmQv\fP. | 57 | folder containing the data of all testbed nodes like |
45 | .B | 58 | .Pp |
46 | .IP "\-v, \-\-version" | 59 | .Dl $ gnunet-statistics -t /tmp/testbedARtmQv |
60 | .Pp | ||
61 | .It Fl v | \-version | ||
47 | Print GNUnet version number. | 62 | Print GNUnet version number. |
48 | .SH BUGS | 63 | .It Fl w | \-watch |
49 | Report bugs by using Mantis <https://gnunet.org/mantis/> or by sending | 64 | Watch value continuously. |
50 | electronic mail to <gnunet\-developers@gnu.org> | 65 | .El |
51 | .SH SEE ALSO | 66 | .Sh SEE ALSO |
52 | gnunet\-service\-statistics(1) | 67 | .Xr gnunet-service-statistics 1 |
53 | .PP | 68 | .sp |
54 | The full documentation for | 69 | The full documentation for gnunet is maintained as a Texinfo manual. |
55 | .B gnunet | ||
56 | is maintained as a Texinfo manual. | ||
57 | If the | 70 | If the |
58 | .B info | 71 | .Xr info 1 |
59 | and | 72 | and gnunet programs are properly installed at your site, the command |
60 | .B gnunet | 73 | .Pp |
61 | programs are properly installed at your site, the command | 74 | .Dl info gnunet |
62 | .IP | 75 | .Pp |
63 | .B info gnunet | ||
64 | .PP | ||
65 | should give you access to the complete handbook, | 76 | should give you access to the complete handbook, |
66 | .IP | 77 | .Pp |
67 | .B info gnunet-c-tutorial | 78 | .Dl info gnunet-c-tutorial |
68 | .PP | 79 | .Pp |
69 | will give you access to a tutorial for developers. | 80 | will give you access to a tutorial for developers. |
70 | .PP | 81 | .sp |
71 | Depending on your installation, this information is also | 82 | Depending on your installation, this information is also available in |
72 | available in | 83 | .Xr gnunet 7 and |
73 | \fBgnunet\fP(7) and \fBgnunet-c-tutorial\fP(7). | 84 | .Xr gnunet-c-tutorial 7 . |
85 | .\".Sh HISTORY | ||
86 | .\".Sh AUTHORS | ||
87 | .Sh BUGS | ||
88 | Report bugs by using | ||
89 | .Lk https://bugs.gnunet.org | ||
90 | or by sending electronic mail to | ||
91 | .Aq Mt gnunet-developers@gnu.org . | ||
diff --git a/doc/man/gnunet-testbed-profiler.1 b/doc/man/gnunet-testbed-profiler.1 index b1dde99dd..fe9d713b3 100644 --- a/doc/man/gnunet-testbed-profiler.1 +++ b/doc/man/gnunet-testbed-profiler.1 | |||
@@ -1,61 +1,67 @@ | |||
1 | .TH GNUNET\-TESTBED\-PROFILER 1 "September 13, 2014" "GNUnet" | 1 | .Dd September 13, 2014 |
2 | .SH NAME | 2 | .Dt GNUNET-TESTBED-PROFILER 1 |
3 | gnunet\-testbed\-profiler \- Profiling driver for the testbed. | 3 | .Os |
4 | .SH SYNOPSIS | 4 | .Sh NAME |
5 | .B gnunet\-testbed\-profiler | 5 | .Nm gnunet-testbed-profiler |
6 | .RI [ options ] | 6 | .Nd |
7 | .br | 7 | profiling driver for the testbed |
8 | .SH DESCRIPTION | 8 | .Sh SYNOPSIS |
9 | \fBgnunet\-testbed\-profiler\fP is a command line profiling driver for the testbed. | 9 | .Nm |
10 | .SH OPTIONS | 10 | .Op Fl c Ar FILENAME | Fl \-config= Ns Ar FILENAME |
11 | .B | 11 | .Op Fl e Ar COUNT | Fl \-num-errors= Ns Ar COUNT |
12 | .IP "\-c FILENAME, \-\-config=FILENAME" | 12 | .Op Fl H Ar FILENAME | Fl \-hosts= Ns Ar FILENAME |
13 | .Op Fl h | \-help | ||
14 | .Op Fl L Ar LOGLEVEL | Fl \-loglevel= Ns Ar LOGLEVEL | ||
15 | .Op Fl l Ar LOGFILE | Fl \-logfile= Ns Ar LOGFILE | ||
16 | .Op Fl n | \-non-interactive | ||
17 | .Op Fl p Ar COUNT | Fl \-num-peers= Ns Ar COUNT | ||
18 | .Op Fl v | \-version | ||
19 | .Sh DESCRIPTION | ||
20 | .Nm | ||
21 | is a command line profiling driver for the testbed. | ||
22 | .Sh OPTIONS | ||
23 | .Bl -tag -width Ds | ||
24 | .It Fl c Ar FILENAME | Fl \-config= Ns Ar FILENAME | ||
13 | Use the configuration file FILENAME. | 25 | Use the configuration file FILENAME. |
14 | .B | 26 | .It Fl e Ar COUNT | Fl \-num-errors= Ns Ar COUNT |
15 | .IP "\-e COUNT, \-\-num\-errors=COUNT" | ||
16 | Tolerate COUNT number of continious timeout failures. | 27 | Tolerate COUNT number of continious timeout failures. |
17 | .B | 28 | .It Fl H Ar FILENAME | Fl \-hosts= Ns Ar FILENAME |
18 | .IP "\-H FILENAME, \-\-hosts=FILENAME" | ||
19 | Name of the file with the login information for the testbed. | 29 | Name of the file with the login information for the testbed. |
20 | .B | 30 | .It Fl h | \-help |
21 | .IP "\-h, \-\-help" | ||
22 | Print short help on options. | 31 | Print short help on options. |
23 | .B | 32 | .It Fl L Ar LOGLEVEL | Fl \-loglevel= Ns Ar LOGLEVEL |
24 | .IP "\-L LOGLEVEL, \-\-loglevel=LOGLEVEL" | 33 | Use LOGLEVEL for logging. |
25 | Use LOGLEVEL for logging. Valid values are DEBUG, INFO, WARNING and ERROR. | 34 | Valid values are DEBUG, INFO, WARNING and ERROR. |
26 | .B | 35 | .It Fl l Ar LOGFILE | Fl \-logfile= Ns Ar LOGFILE |
27 | .IP "\-l LOGFILE, \-\-logfile=LOGFILE" | ||
28 | Configure logging to write logs to LOGFILE. | 36 | Configure logging to write logs to LOGFILE. |
29 | .B | 37 | .It Fl n | \-non-interactive |
30 | .IP "\-n, \-\-non\-interactive" | 38 | Run profiler in non-interactive mode where upon testbed setup the profiler does not wait for a keystroke but continues to run until a termination signal is received. |
31 | Run profiler in non-interactive mode where upon testbed setup the | 39 | .It Fl p Ar COUNT | Fl \-num-peers= Ns Ar COUNT |
32 | profiler does not wait for a keystroke but continues to run until a | ||
33 | termination signal is received. | ||
34 | .B | ||
35 | .IP "\-p COUNT, \-\-num\-peers=COUNT" | ||
36 | Create COUNT number of peers. | 40 | Create COUNT number of peers. |
37 | .B | 41 | .It Fl v | \-version |
38 | .IP "\-v, \-\-version" | ||
39 | Print GNUnet version number. | 42 | Print GNUnet version number. |
40 | .SH BUGS | 43 | .El |
41 | Report bugs by using Mantis <https://bugs.gnunet.org/> or by sending electronic mail to <gnunet\-developers@gnu.org> | 44 | .Sh SEE ALSO |
42 | .SH "SEE ALSO" | 45 | The full documentation for gnunet is maintained as a Texinfo manual. |
43 | The full documentation for | 46 | If the |
44 | .B gnunet | 47 | .Xr info 1 |
45 | is maintained as a Texinfo manual. If the | 48 | and gnunet programs are properly installed at your site, the command |
46 | .B info | 49 | .Pp |
47 | and | 50 | .Dl info gnunet |
48 | .B gnunet | 51 | .Pp |
49 | programs are properly installed at your site, the command | ||
50 | .IP | ||
51 | .B info gnunet | ||
52 | .PP | ||
53 | should give you access to the complete handbook, | 52 | should give you access to the complete handbook, |
54 | .IP | 53 | .Pp |
55 | .B info gnunet-c-tutorial | 54 | .Dl info gnunet-c-tutorial |
56 | .PP | 55 | .Pp |
57 | will give you access to a tutorial for developers. | 56 | will give you access to a tutorial for developers. |
58 | .PP | 57 | .sp |
59 | Depending on your installation, this information is also | 58 | Depending on your installation, this information is also available in |
60 | available in | 59 | .Xr gnunet 7 and |
61 | \fBgnunet\fP(7) and \fBgnunet-c-tutorial\fP(7). | 60 | .Xr gnunet-c-tutorial 7 . |
61 | .\".Sh HISTORY | ||
62 | .\".Sh AUTHORS | ||
63 | .Sh BUGS | ||
64 | Report bugs by using | ||
65 | .Lk https://bugs.gnunet.org | ||
66 | or by sending electronic mail to | ||
67 | .Aq Mt gnunet-developers@gnu.org . | ||
diff --git a/doc/man/gnunet-testing-run-service.1 b/doc/man/gnunet-testing-run-service.1 index 43fdb8ecf..903810c7f 100644 --- a/doc/man/gnunet-testing-run-service.1 +++ b/doc/man/gnunet-testing-run-service.1 | |||
@@ -1,52 +1,53 @@ | |||
1 | .TH GNUNET-TESTING-RUN-SERVICE 1 "August 25, 2013" "GNUnet" | 1 | .Dd August 25, 2013 |
2 | .SH NAME | 2 | .Dt GNUNET-TESTING-RUN-SERVICE 1 |
3 | gnunet\-testing\-run\-service \- Command line tool to start a service for testing. | 3 | .Os |
4 | .SH SYNOPSIS | 4 | .Sh NAME |
5 | .B gnunet\-testing\-run\-service | 5 | .Nm gnunet-testing-run-service |
6 | .RI [ options ] | 6 | .Nd |
7 | .SH DESCRIPTION | 7 | command line tool to start a service for testing |
8 | \fBgnunet\-testing\-run\-service\fP is a command line tool to start a | 8 | .Sh SYNOPSIS |
9 | service for testing. It starts a peer, running only the service | 9 | .Nm |
10 | specified on the command line, outputs the path to the temporary | 10 | .Op Fl c Ar FILENAME | Fl \-config= Ns Ar FILENAME |
11 | configuration file to stdout. | 11 | .Op Fl h | \-help |
12 | .PP | 12 | .Op Fl s Ar SERVICE | Fl \-service= Ns Ar SERVICE |
13 | The peer will run until this program is killed, or stdin is | 13 | .Sh DESCRIPTION |
14 | closed. When reading the character 'r' from stdin, the running service | 14 | .Nm |
15 | is restarted with the same configuration. | 15 | is a command line tool to start a service for testing. |
16 | .PP | 16 | It starts a peer, running only the service specified on the command line, outputs the path to the temporary configuration file to stdout. |
17 | This executable is intended to be used by gnunet-java, in order to | 17 | .Pp |
18 | reliably start and stop services for test cases. | 18 | The peer will run until this program is killed, or stdin is closed. |
19 | .SH OPTIONS | 19 | When reading the character 'r' from stdin, the running service is restarted with the same configuration. |
20 | .B | 20 | .Pp |
21 | .IP "\-c FILENAME, \-\-config=FILENAME" | 21 | This executable is intended to be used by gnunet-java, in order to reliably start and stop services for test cases. |
22 | .Bl -tag -width Ds | ||
23 | .It Fl c Ar FILENAME | Fl \-config= Ns Ar FILENAME | ||
22 | Name of the template configuration file to use (optional). | 24 | Name of the template configuration file to use (optional). |
23 | .B | 25 | .It Fl h | \-help |
24 | .IP "\-h, \-\-help" | ||
25 | Print short help on options. | 26 | Print short help on options. |
26 | .B | 27 | .It Fl s Ar SERVICE | Fl \-service= Ns Ar SERVICE |
27 | .IP "\-s SERVICE, \-\-service=SERVICE" | ||
28 | Name of the service to run. | 28 | Name of the service to run. |
29 | .SH BUGS | 29 | .El |
30 | Report bugs by using Mantis <https://bugs.gnunet.org/> or by sending | 30 | .Sh SEE ALSO |
31 | electronic mail to <gnunet\-developers@gnu.org> | 31 | The full documentation for gnunet is maintained as a Texinfo manual. |
32 | .SH SEE ALSO | ||
33 | The full documentation for | ||
34 | .B gnunet | ||
35 | is maintained as a Texinfo manual. | ||
36 | If the | 32 | If the |
37 | .B info | 33 | .Xr info 1 |
38 | and | 34 | and gnunet programs are properly installed at your site, the command |
39 | .B gnunet | 35 | .Pp |
40 | programs are properly installed at your site, the command | 36 | .Dl info gnunet |
41 | .IP | 37 | .Pp |
42 | .B info gnunet | ||
43 | .PP | ||
44 | should give you access to the complete handbook, | 38 | should give you access to the complete handbook, |
45 | .IP | 39 | .Pp |
46 | .B info gnunet-c-tutorial | 40 | .Dl info gnunet-c-tutorial |
47 | .PP | 41 | .Pp |
48 | will give you access to a tutorial for developers. | 42 | will give you access to a tutorial for developers. |
49 | .PP | 43 | .sp |
50 | Depending on your installation, this information is also | 44 | Depending on your installation, this information is also available in |
51 | available in | 45 | .Xr gnunet 7 and |
52 | \fBgnunet\fP(7) and \fBgnunet-c-tutorial\fP(7). | 46 | .Xr gnunet-c-tutorial 7 . |
47 | .\".Sh HISTORY | ||
48 | .\".Sh AUTHORS | ||
49 | .Sh BUGS | ||
50 | Report bugs by using | ||
51 | .Lk https://bugs.gnunet.org | ||
52 | or by sending electronic mail to | ||
53 | .Aq Mt gnunet-developers@gnu.org . | ||
diff --git a/doc/man/gnunet-testing.1 b/doc/man/gnunet-testing.1 index 357d0df44..182da613d 100644 --- a/doc/man/gnunet-testing.1 +++ b/doc/man/gnunet-testing.1 | |||
@@ -1,65 +1,69 @@ | |||
1 | .TH GNUNET\-TESTING 1 "January 4, 2012" "GNUnet" | 1 | .Dd January 4, 2012 |
2 | .SH NAME | 2 | .Dt GNUNET-TESTING 1 |
3 | gnunet\-testing \- Command line tool to access the testing library. | 3 | .Os |
4 | .SH SYNOPSIS | 4 | .Sh NAME |
5 | .B gnunet\-testing | 5 | .Nm gnunet-testing |
6 | .RI [ options ] | 6 | .Nd |
7 | .br | 7 | command line tool to access the testing library |
8 | .SH DESCRIPTION | 8 | .Sh SYNOPSIS |
9 | \fBgnunet\-testing\fP is a command line tool to access the testing | 9 | .Nm |
10 | library. | 10 | .Op Fl C | \-cfg |
11 | .SH OPTIONS | 11 | .Op Fl c Ar FILENAME | Fl \-config= Ns Ar FILENAME |
12 | .B | 12 | .Op Fl H | \-hostkeys |
13 | .IP "\-C, \-\-cfg" | 13 | .Op Fl h | \-help |
14 | .Op Fl k | \-key | ||
15 | .Op Fl L Ar LOGLEVEL | Fl \-loglevel= Ns Ar LOGLEVEL | ||
16 | .Op Fl l Ar LOGFILE | Fl \-logfile= Ns Ar LOFILE | ||
17 | .Op Fl n | \-number | ||
18 | .Op Fl t | \-template | ||
19 | .Op Fl v | \-version | ||
20 | .Sh DESCRIPTION | ||
21 | .Nm | ||
22 | is a command line tool to access the testing library. | ||
23 | .Sh OPTIONS | ||
24 | .Bl -tag -width Ds | ||
25 | .It Fl C | \-cfg | ||
14 | Create unique configuration files. | 26 | Create unique configuration files. |
15 | .B | 27 | .It Fl c Ar FILENAME | Fl \-config= Ns Ar FILENAME |
16 | .IP "\-c FILENAME, \-\-config=FILENAME" | ||
17 | Use the configuration file FILENAME. | 28 | Use the configuration file FILENAME. |
18 | .B | 29 | .It Fl H | \-hostkeys |
19 | .IP "\-H, \-\-hostkeys" | ||
20 | Host key file. | 30 | Host key file. |
21 | .B | 31 | .It Fl h | \-help |
22 | .IP "\-h, \-\-help" | ||
23 | Print short help on options. | 32 | Print short help on options. |
24 | .B | 33 | .It Fl k | \-key |
25 | .IP "\-k, \-\-key" | ||
26 | Create hostkey files from pre-computed hostkey list. | 34 | Create hostkey files from pre-computed hostkey list. |
27 | .B | 35 | .It Fl L Ar LOGLEVEL | Fl \-loglevel= Ns Ar LOGLEVEL |
28 | .IP "\-L LOGLEVEL, \-\-loglevel=LOGLEVEL" | ||
29 | Use LOGLEVEL for logging. Valid values are DEBUG, INFO, WARNING and ERROR. | 36 | Use LOGLEVEL for logging. Valid values are DEBUG, INFO, WARNING and ERROR. |
30 | .B | 37 | .It Fl l Ar LOGFILE | Fl \-logfile= Ns Ar LOFILE |
31 | .IP "\-l LOGFILE, \-\-logfile=LOGFILE" | ||
32 | Configure logging to write logs to LOGFILE. | 38 | Configure logging to write logs to LOGFILE. |
33 | .B | 39 | .It Fl n | \-number |
34 | .IP "\-n, \-\-number" | ||
35 | Number of unique configuration files or hostkeys to create. | 40 | Number of unique configuration files or hostkeys to create. |
36 | .B | 41 | .It Fl t | \-template |
37 | .IP "\-t, \-\-template" | ||
38 | Configuration template. | 42 | Configuration template. |
39 | .B | 43 | .It Fl v | \-version |
40 | .IP "\-v, \-\-version" | ||
41 | Print GNUnet version number. | 44 | Print GNUnet version number. |
42 | .SH BUGS | 45 | .El |
43 | Report bugs by using Mantis <https://bugs.gnunet.org/> or by sending | 46 | .Sh SEE ALSO |
44 | electronic mail to <gnunet\-developers@gnu.org> | 47 | The full documentation for gnunet is maintained as a Texinfo manual. |
45 | .SH SEE ALSO | ||
46 | The full documentation for | ||
47 | .B gnunet | ||
48 | is maintained as a Texinfo manual. | ||
49 | If the | 48 | If the |
50 | .B info | 49 | .Xr info 1 |
51 | and | 50 | and gnunet programs are properly installed at your site, the command |
52 | .B gnunet | 51 | .Pp |
53 | programs are properly installed at your site, the command | 52 | .Dl info gnunet |
54 | .IP | 53 | .Pp |
55 | .B info gnunet | ||
56 | .PP | ||
57 | should give you access to the complete handbook, | 54 | should give you access to the complete handbook, |
58 | .IP | 55 | .Pp |
59 | .B info gnunet-c-tutorial | 56 | .Dl info gnunet-c-tutorial |
60 | .PP | 57 | .Pp |
61 | will give you access to a tutorial for developers. | 58 | will give you access to a tutorial for developers. |
62 | .PP | 59 | .sp |
63 | Depending on your installation, this information is also | 60 | Depending on your installation, this information is also available in |
64 | available in | 61 | .Xr gnunet 7 and |
65 | \fBgnunet\fP(7) and \fBgnunet-c-tutorial\fP(7). | 62 | .Xr gnunet-c-tutorial 7 . |
63 | .\".Sh HISTORY | ||
64 | .\".Sh AUTHORS | ||
65 | .Sh BUGS | ||
66 | Report bugs by using | ||
67 | .Lk https://bugs.gnunet.org | ||
68 | or by sending electronic mail to | ||
69 | .Aq Mt gnunet-developers@gnu.org . | ||
diff --git a/doc/man/gnunet-timeout.1 b/doc/man/gnunet-timeout.1 index 653f211cd..15abfe351 100644 --- a/doc/man/gnunet-timeout.1 +++ b/doc/man/gnunet-timeout.1 | |||
@@ -1,36 +1,42 @@ | |||
1 | .TH GNUNET-TIMOUET 1 "June 5, 2018" "GNUnet" | 1 | .Dd June 5, 2018 |
2 | .SH NAME | 2 | .Dt GNUNET-TIMEOUT 1 |
3 | gnunet\-timeout \- run process with timeout | 3 | .Os |
4 | .SH SYNOPSIS | 4 | .Sh NAME |
5 | .B gnunet\-timeout | 5 | .Nm gnunet-timeout |
6 | .RI TIMEOUT PROGRAM ARGS | 6 | .Nd |
7 | .SH DESCRIPTION | 7 | run process with timeout |
8 | \fBgnunet\-timeout\fP can be used to run another process with a | 8 | .Sh SYNOPSIS |
9 | timeout. Provided as the standard "timout" utility may not be | 9 | .Nm |
10 | available on all platforms. | 10 | .Ao Ar duration Ac |
11 | .SH BUGS | 11 | .Ao Ar command Ac |
12 | Report bugs by using Mantis <https://bugs.gnunet.org/> or by sending | 12 | .Ao args ... Ac |
13 | electronic mail to <gnunet\-developers@gnu.org> | 13 | .Sh DESCRIPTION |
14 | .SH SEE ALSO | 14 | .Nm |
15 | timeout(1) | 15 | can be used to run another process with a timeout. |
16 | .PP | 16 | It is provided because the standard "timout" utility may not be available on all platforms. |
17 | The full documentation for | 17 | .Sh SEE ALSO |
18 | .B gnunet | 18 | .Xr timeout 1 |
19 | is maintained as a Texinfo manual. | 19 | .sp |
20 | The full documentation for gnunet is maintained as a Texinfo manual. | ||
20 | If the | 21 | If the |
21 | .B info | 22 | .Xr info 1 |
22 | and | 23 | and gnunet programs are properly installed at your site, the command |
23 | .B gnunet | 24 | .Pp |
24 | programs are properly installed at your site, the command | 25 | .Dl info gnunet |
25 | .IP | 26 | .Pp |
26 | .B info gnunet | ||
27 | .PP | ||
28 | should give you access to the complete handbook, | 27 | should give you access to the complete handbook, |
29 | .IP | 28 | .Pp |
30 | .B info gnunet-c-tutorial | 29 | .Dl info gnunet-c-tutorial |
31 | .PP | 30 | .Pp |
32 | will give you access to a tutorial for developers. | 31 | will give you access to a tutorial for developers. |
33 | .PP | 32 | .sp |
34 | Depending on your installation, this information is also | 33 | Depending on your installation, this information is also available in |
35 | available in | 34 | .Xr gnunet 7 and |
36 | \fBgnunet\fP(7) and \fBgnunet-c-tutorial\fP(7). | 35 | .Xr gnunet-c-tutorial 7 . |
36 | .\".Sh HISTORY | ||
37 | .\".Sh AUTHORS | ||
38 | .Sh BUGS | ||
39 | Report bugs by using | ||
40 | .Lk https://bugs.gnunet.org | ||
41 | or by sending electronic mail to | ||
42 | .Aq Mt gnunet-developers@gnu.org . | ||
diff --git a/doc/man/gnunet-transport-certificate-creation.1 b/doc/man/gnunet-transport-certificate-creation.1 index 9dc572acf..e896363e4 100644 --- a/doc/man/gnunet-transport-certificate-creation.1 +++ b/doc/man/gnunet-transport-certificate-creation.1 | |||
@@ -1,35 +1,40 @@ | |||
1 | .TH GNUNET\-TRANSPORT-CERTIFICATE-CREATION 1 "January 31, 2014" "GNUnet" | 1 | .Dd January 31, 2014 |
2 | .SH NAME | 2 | .Dt GNUNET-TRANSPORT-CERTIFICATE-CREATION 1 |
3 | gnunet\-transport\-certificate\-creation \- create certificate for HTTPS transport | 3 | .Os |
4 | .SH SYNOPSIS | 4 | .Sh NAME |
5 | .B gnunet\-transport\-certificate\-creation | 5 | .Nm gnunet-transport-certificate-creation |
6 | .I privatekey certificate | 6 | .Nd |
7 | .SH DESCRIPTION | 7 | create certificate for HTTPS transport |
8 | \fBgnunet\-transport\-certificate\-creation\fP uses openssl to generate a RSA | 8 | .Sh SYNOPSIS |
9 | private key and then a self-signed certificate for HTTPS transport. | 9 | .Nm |
10 | .SH BUGS | 10 | .Op privatekey |
11 | Report bugs by using Mantis <https://bugs.gnunet.org/> or by sending | 11 | .Op certificate |
12 | electronic mail to <gnunet\-developers@gnu.org> | 12 | .Sh DESCRIPTION |
13 | .SH SEE ALSO | 13 | .Nm |
14 | gnunet\-transport(1) | 14 | uses openssl to generate a RSA private key and then a self-signed certificate for HTTPS transport. |
15 | .PP | 15 | .Sh SEE ALSO |
16 | The full documentation for | 16 | .Xr gnunet-transport 1 |
17 | .B gnunet | 17 | .sp |
18 | is maintained as a Texinfo manual. | 18 | The full documentation for gnunet is maintained as a Texinfo manual. |
19 | If the | 19 | If the |
20 | .B info | 20 | .Xr info 1 |
21 | and | 21 | and gnunet programs are properly installed at your site, the command |
22 | .B gnunet | 22 | .Pp |
23 | programs are properly installed at your site, the command | 23 | .Dl info gnunet |
24 | .IP | 24 | .Pp |
25 | .B info gnunet | ||
26 | .PP | ||
27 | should give you access to the complete handbook, | 25 | should give you access to the complete handbook, |
28 | .IP | 26 | .Pp |
29 | .B info gnunet-c-tutorial | 27 | .Dl info gnunet-c-tutorial |
30 | .PP | 28 | .Pp |
31 | will give you access to a tutorial for developers. | 29 | will give you access to a tutorial for developers. |
32 | .PP | 30 | .sp |
33 | Depending on your installation, this information is also | 31 | Depending on your installation, this information is also available in |
34 | available in | 32 | .Xr gnunet 7 and |
35 | \fBgnunet\fP(7) and \fBgnunet-c-tutorial\fP(7). | 33 | .Xr gnunet-c-tutorial 7 . |
34 | .\".Sh HISTORY | ||
35 | .\".Sh AUTHORS | ||
36 | .Sh BUGS | ||
37 | Report bugs by using | ||
38 | .Lk https://bugs.gnunet.org | ||
39 | or by sending electronic mail to | ||
40 | .Aq Mt gnunet-developers@gnu.org . | ||
diff --git a/doc/man/gnunet-transport.1 b/doc/man/gnunet-transport.1 index eef762174..f5ed47ad1 100644 --- a/doc/man/gnunet-transport.1 +++ b/doc/man/gnunet-transport.1 | |||
@@ -1,84 +1,92 @@ | |||
1 | .TH GNUNET\-TRANSPORT "1" "October 17, 2015" "GNUnet" | 1 | .Dd October 17, 2015 |
2 | .SH NAME | 2 | .Dt GNUNET-TRANSPORT 1 |
3 | gnunet\-transport \- measure and control the transport subsystem | 3 | .Os |
4 | .SH SYNOPSIS | 4 | .Sh NAME |
5 | .B gnunet\-transport | 5 | .Nm gnunet-transport |
6 | [\fIOPTIONS\fR] | 6 | .Nd |
7 | .SH DESCRIPTION | 7 | measure and control the transport subsystem |
8 | .PP | 8 | .Sh SYNOPSIS |
9 | gnunet\-transport is a tool to access various functions of GNUnet's | 9 | .Nm |
10 | transport subsystem from the command\-line. Most of these are not | 10 | .Op Fl b | \-benchmark |
11 | expected to be useful for end-users. gnunet\-transport can be used to | 11 | .Op Fl c Ar FILENAME | Fl \-config= Ns Ar FILENAME |
12 | evaluate the performance of the transports, force a peer to connect to | 12 | .Op Fl D | \-disconnect |
13 | another peer (if possible). Other functions should be added in the | 13 | .Op Fl e | \-events |
14 | near future. | 14 | .Op Fl h | \-help |
15 | .TP | 15 | .Op Fl i | \-information |
16 | \fB\-b\fR, \fB\-\-benchmark\fR | 16 | .Op Fl L Ar LOGLEVEL | Fl \-loglevel= Ns Ar LOGLEVEL |
17 | measure how fast we are receiving data (from all connections). On | 17 | .Op Fl l Ar LOGFILE | Fl \-logfile= Ns Ar LOGFILE |
18 | exit, the data rate will be reported. Runs until aborted with CTRL-C. | 18 | .Op Fl m | \-monitor |
19 | .TP | 19 | .Op Fl p Ar PEER | Fl \-peer= Ns Ar PEER |
20 | \fB\-D\fR, \fB\-\-disconnect\fR | 20 | .Op Fl P | \-plugins |
21 | force disconnection from a peer (used in conjunction with \-p). | 21 | .Op Fl s | \-send |
22 | Note that you can use the gnunet\-ats command\-line tool to suggest connects. | 22 | .Op Fl v | \-version |
23 | .TP | 23 | .Op Fl V | \-verbose |
24 | \fB\-c \fIFILENAME\fR, \fB\-\-config=FILENAME\fR | 24 | .Sh DESCRIPTION |
25 | .Nm | ||
26 | is a tool to access various functions of GNUnet's transport subsystem from the command-line. | ||
27 | Most of these are not expected to be useful for end-users. | ||
28 | gnunet-transport can be used to evaluate the performance of the transports, force a peer to connect to another peer (if possible). | ||
29 | Other functions should be added in the near future. | ||
30 | .Bl -tag -width Ds | ||
31 | .It Fl b | \-benchmark | ||
32 | measure how fast we are receiving data (from all connections). | ||
33 | On exit, the data rate will be reported. | ||
34 | Runs until aborted with CTRL-C. | ||
35 | .It Fl c Ar FILENAME | Fl \-config= Ns Ar FILENAME | ||
25 | configuration file to use | 36 | configuration file to use |
26 | .TP | 37 | .It Fl D | \-disconnect |
27 | \fB\-e \fB\-\-events\fR | 38 | force disconnection from a peer (used in conjunction with \-p). |
39 | Note that you can use the gnunet-ats command-line tool to suggest connects. | ||
40 | .It Fl e | \-events | ||
28 | provide information about all connect and disconnect events (continuously) | 41 | provide information about all connect and disconnect events (continuously) |
29 | .TP | 42 | .It Fl h | \-help |
30 | \fB\-h\fR, \fB\-\-help\fR | ||
31 | print help page | 43 | print help page |
32 | .TP | 44 | .It Fl i | \-information |
33 | \fB\-i\fR, \fB\-\-information\fR | ||
34 | print information about our current connections (once) | 45 | print information about our current connections (once) |
35 | .TP | 46 | .It Fl L Ar LOGLEVEL | Fl \-loglevel= Ns Ar LOGLEVEL |
36 | \fB\-L \fILOGLEVEL\fR, \fB\-\-loglevel=LOGLEVEL\fR | ||
37 | Change the loglevel. Possible values for LOGLEVEL are ERROR, WARNING, INFO and DEBUG. | 47 | Change the loglevel. Possible values for LOGLEVEL are ERROR, WARNING, INFO and DEBUG. |
38 | .TP | 48 | .It Fl l Ar LOGFILE | Fl \-logfile= Ns Ar LOGFILE |
39 | \fB\-l \fILOGFILE\fR, \fB\-\-logfile=LOGFILE\fR | ||
40 | configure logging to write logs to LOGFILE | 49 | configure logging to write logs to LOGFILE |
41 | .TP | 50 | .It Fl m | \-monitor |
42 | \fB\-m\fR, \fB\-\-monitor\fR | ||
43 | print information about our current connections (continuously) | 51 | print information about our current connections (continuously) |
44 | .TP | 52 | .It Fl p Ar PEER | Fl \-peer= Ns Ar PEER |
45 | \fB\-p \fIPEER\fR, \fB\-\-peer=PEER\fR | ||
46 | the peer identity to connect to or monitor | 53 | the peer identity to connect to or monitor |
47 | .TP | 54 | .It Fl P | \-plugins |
48 | \fB\-P, \fB\-\-plugins\fR | ||
49 | monitor session state of transport plugins | 55 | monitor session state of transport plugins |
50 | .TP | 56 | .It Fl s | \-send |
51 | \fB\-s\fR, \fB\-\-send\fR | ||
52 | transmit (dummy) traffic as quickly as possible to the peer specified | 57 | transmit (dummy) traffic as quickly as possible to the peer specified |
53 | with the \-p option. The rate will still be limited by the quota(s) | 58 | with the \-p option. The rate will still be limited by the quota(s) |
54 | determined by the peers (ATS subsystem). Will run until CTRL\-C is | 59 | determined by the peers (ATS subsystem). Will run until CTRL\-C is |
55 | pressed or until the connection to the other peer is disrupted. | 60 | pressed or until the connection to the other peer is disrupted. |
56 | .TP | 61 | .It Fl v | \-version |
57 | \fB\-v\fR, \fB\-\-version\fR | ||
58 | print the version number | 62 | print the version number |
59 | .TP | 63 | .It Fl V | \-verbose |
60 | \fB\-V\fR, \fB\-\-verbose\fR | ||
61 | be verbose | 64 | be verbose |
62 | .SH "REPORTING BUGS" | 65 | .El |
63 | Report bugs by using mantis <https://bugs.gnunet.org/> or by sending electronic mail to <gnunet\-developers@gnu.org> | 66 | .Sh SEE ALSO |
64 | .SH "SEE ALSO" | 67 | .Xr gnunet-arm 1 , |
65 | \fBgnunet\-arm\fP(1), \fBgnunet\-ats\fP(1) | 68 | .Xr gnunet-ats 1 |
66 | The full documentation for | 69 | .sp |
67 | .B gnunet | 70 | The full documentation for gnunet is maintained as a Texinfo manual. |
68 | is maintained as a Texinfo manual. If the | 71 | If the |
69 | .B info | 72 | .Xr info 1 |
70 | and | 73 | and gnunet programs are properly installed at your site, the command |
71 | .B gnunet | 74 | .Pp |
72 | programs are properly installed at your site, the command | 75 | .Dl info gnunet |
73 | .IP | 76 | .Pp |
74 | .B info gnunet | ||
75 | .PP | ||
76 | should give you access to the complete handbook, | 77 | should give you access to the complete handbook, |
77 | .IP | 78 | .Pp |
78 | .B info gnunet-c-tutorial | 79 | .Dl info gnunet-c-tutorial |
79 | .PP | 80 | .Pp |
80 | will give you access to a tutorial for developers. | 81 | will give you access to a tutorial for developers. |
81 | .PP | 82 | .sp |
82 | Depending on your installation, this information is also | 83 | Depending on your installation, this information is also available in |
83 | available in | 84 | .Xr gnunet 7 and |
84 | \fBgnunet\fP(7) and \fBgnunet-c-tutorial\fP(7). | 85 | .Xr gnunet-c-tutorial 7 . |
86 | .\".Sh HISTORY | ||
87 | .\".Sh AUTHORS | ||
88 | .Sh BUGS | ||
89 | Report bugs by using | ||
90 | .Lk https://bugs.gnunet.org | ||
91 | or by sending electronic mail to | ||
92 | .Aq Mt gnunet-developers@gnu.org . | ||
diff --git a/doc/man/gnunet-unindex.1 b/doc/man/gnunet-unindex.1 index 6aee4f62e..e953ce23a 100644 --- a/doc/man/gnunet-unindex.1 +++ b/doc/man/gnunet-unindex.1 | |||
@@ -1,58 +1,67 @@ | |||
1 | .TH GNUNET-UNINDEX "1" "September 6, 2009" "GNUnet" | 1 | .Dd September 6, 2009 |
2 | .SH NAME | 2 | .Dt GNUNET-UNINDEX 1 |
3 | gnunet\-unindex \- a command line interface for deleting indexed files from GNUnet | 3 | .Sh NAME |
4 | .SH SYNOPSIS | 4 | .Nm gnunet-unindex |
5 | .B gnunet\-unindex | 5 | .Nd |
6 | [\fIOPTIONS\fR] FILENAME | 6 | a command line interface for deleting indexed files from GNUnet |
7 | .SH DESCRIPTION | 7 | .Sh SYNOPSIS |
8 | .PP | 8 | .Nm |
9 | gnunet\-unindex is used for deleting indexed files from GNUnet. | 9 | .Op Fl c Ar FILENAME | Fl \-config= Ns Ar FILENAME |
10 | .TP | 10 | .Op Fl h | \-help |
11 | \fB\-c \fIFILENAME\fR, \fB\-\-config=FILENAME\fR | 11 | .Op Fl L Ar LOGLEVEL | Fl \-loglevel= Ns Ar LOGLEVEL |
12 | use config file (defaults: ~/.config/gnunet.conf) | 12 | .Op Fl v | \-version |
13 | .TP | 13 | .Op Fl V | \-verbose |
14 | \fB\-h\fR, \fB\-\-help\fR | 14 | FILENAME |
15 | .Sh DESCRIPTION | ||
16 | .Nm | ||
17 | is used for deleting indexed files from GNUnet. | ||
18 | .Bl -tag -width Ds | ||
19 | .It Fl c Ar FILENAME | Fl \-config= Ns Ar FILENAME | ||
20 | Use config file FILENAME as config (default: ~/.config/gnunet.conf). | ||
21 | .It Fl h | \-help | ||
15 | print help page | 22 | print help page |
16 | .TP | 23 | .It Fl L Ar LOGLEVEL | Fl \-loglevel= Ns Ar LOGLEVEL |
17 | \fB\-L \fILOGLEVEL\fR, \fB\-\-loglevel=LOGLEVEL\fR | 24 | Change the loglevel. |
18 | Change the loglevel. Possible values for LOGLEVEL are NOTHING, | 25 | Possible values for LOGLEVEL are NOTHING, ERROR, WARNING, INFO and DEBUG. |
19 | ERROR, WARNING, INFO and DEBUG. | 26 | .It Fl v | \-version |
20 | .TP | ||
21 | \fB\-v\fR, \fB\-\-version\fR | ||
22 | print the version number | 27 | print the version number |
23 | .TP | 28 | .It Fl V | \-verbose |
24 | \fB\-V\fR, \fB\-\-verbose\fR | ||
25 | be verbose | 29 | be verbose |
26 | .SH NOTES | 30 | .El |
27 | You can only unindex files that you indexed and that you still have | 31 | .Sh NOTES |
28 | available locally in full. You should use gnunet\-unindex on files | 32 | You can only unindex files that you indexed and that you still have available locally in full. |
29 | that you indexed (not inserted) and that you are going to delete or | 33 | You should use gnunet-unindex on files that you indexed (not inserted) and that you are going to delete or move locally. |
30 | move locally. | 34 | .Sh FILES |
31 | .TP | ||
32 | .SH FILES | ||
33 | .TP | 35 | .TP |
34 | ~/.config/gnunet.conf | 36 | ~/.config/gnunet.conf |
35 | GNUnet configuration file | 37 | GNUnet configuration file |
36 | .SH "REPORTING BUGS" | 38 | .Sh SEE ALSO |
37 | Report bugs to <https://bugs.gnunet.org/> or by sending electronic mail to <gnunet\-developers@gnu.org> | 39 | .Xr gnunet-fs-gtk 1 , |
38 | .SH "SEE ALSO" | 40 | .Xr gnunet-publish 1 , |
39 | \fBgnunet\-fs\-gtk\fP(1), \fBgnunet\-publish\fP(1), \fBgnunet\-search\fP(1), \fBgnunet\-download\fP(1), \fBgnunet.conf\fP(5) | 41 | .Xr gnunet-search 1 , |
40 | The full documentation for | 42 | .Xr gnunet-download 1 , |
41 | .B gnunet | 43 | .Xr gnunet.conf 5 |
42 | is maintained as a Texinfo manual. If the | 44 | .sp |
43 | .B info | 45 | The full documentation for gnunet is maintained as a Texinfo manual. |
44 | and | 46 | If the |
45 | .B gnunet | 47 | .Xr info 1 |
46 | programs are properly installed at your site, the command | 48 | and gnunet programs are properly installed at your site, the command |
47 | .IP | 49 | .Pp |
48 | .B info gnunet | 50 | .Dl info gnunet |
49 | .PP | 51 | .Pp |
50 | should give you access to the complete handbook, | 52 | should give you access to the complete handbook, |
51 | .IP | 53 | .Pp |
52 | .B info gnunet-c-tutorial | 54 | .Dl info gnunet-c-tutorial |
53 | .PP | 55 | .Pp |
54 | will give you access to a tutorial for developers. | 56 | will give you access to a tutorial for developers. |
55 | .PP | 57 | .sp |
56 | Depending on your installation, this information is also | 58 | Depending on your installation, this information is also available in |
57 | available in | 59 | .Xr gnunet 7 and |
58 | \fBgnunet\fP(7) and \fBgnunet-c-tutorial\fP(7). | 60 | .Xr gnunet-c-tutorial 7 . |
61 | .\".Sh HISTORY | ||
62 | .\".Sh AUTHORS | ||
63 | .Sh BUGS | ||
64 | Report bugs by using | ||
65 | .Lk https://bugs.gnunet.org | ||
66 | or by sending electronic mail to | ||
67 | .Aq Mt gnunet-developers@gnu.org . | ||
diff --git a/doc/man/gnunet-uri.1 b/doc/man/gnunet-uri.1 index 2fe1a05d2..bb525ef7f 100644 --- a/doc/man/gnunet-uri.1 +++ b/doc/man/gnunet-uri.1 | |||
@@ -1,49 +1,54 @@ | |||
1 | .TH GNUNET-URI 1 "June 26, 2012" "GNUnet" | 1 | .Dd June 26, 2012 |
2 | .SH NAME | 2 | .Dt GNUNET-URI 1 |
3 | gnunet\-uri \- invoke default handler for GNUnet URIs | 3 | .Os |
4 | .SH SYNOPSIS | 4 | .Sh NAME |
5 | .B gnunet\-uri | 5 | .Nm gnunet-uri |
6 | .RI URI | 6 | .Nd |
7 | .SH DESCRIPTION | 7 | invoke default handler for GNUnet URIs |
8 | \fBgnunet\-uri\fP can be used to invoke the correct tool to handle a | 8 | .Sh SYNOPSIS |
9 | GNUnet URI. GNUnet URIs have the format "gnunet://SUBSYSTEM/DETAILS" | 9 | .Nm |
10 | and thus the specific tool to handle the URI depends on the subsystem. | 10 | .Op Fl c Ar FILENAME | Fl \-config= Ns Ar FILENAME |
11 | gnunet\-uri will determine the correct tool (by looking for SUBSYSTEM | 11 | .Op Fl h | \-help |
12 | in the configuration section "uri") and invoke it. | 12 | .Op Fl L Ar LOGLEVEL | Fl \-loglevel= Ns Ar LOGLEVEL |
13 | .SH OPTIONS | 13 | .Op Fl v | \-version |
14 | .B | 14 | URI |
15 | .IP "\-c FILENAME, \-\-config=FILENAME" | 15 | .Sh DESCRIPTION |
16 | .Nm | ||
17 | can be used to invoke the correct tool to handle a GNUnet URI. | ||
18 | GNUnet URIs have the format "gnunet://SUBSYSTEM/DETAILS" and thus the specific tool to handle the URI depends on the subsystem. | ||
19 | gnunet-uri will determine the correct tool (by looking for SUBSYSTEM in the configuration section "uri") and invoke it. | ||
20 | .Bl -tag -width Ds | ||
21 | .It Fl c Ar FILENAME | Fl \-config= Ns Ar FILENAME | ||
16 | Use the configuration file FILENAME. | 22 | Use the configuration file FILENAME. |
17 | .B | 23 | .It Fl h | \-help |
18 | .IP "\-h, \-\-help" | ||
19 | Print short help on options. | 24 | Print short help on options. |
20 | .B | 25 | .It Fl L Ar LOGLEVEL | Fl \-loglevel= Ns Ar LOGLEVEL |
21 | .IP "\-L LOGLEVEL, \-\-loglevel=LOGLEVEL" | 26 | Use LOGLEVEL for logging. |
22 | Use LOGLEVEL for logging. Valid values are DEBUG, INFO, WARNING and ERROR. | 27 | Valid values are DEBUG, INFO, WARNING and ERROR. |
23 | .B | 28 | .It Fl v | \-version |
24 | .IP "\-v, \-\-version" | ||
25 | Print GNUnet version number. | 29 | Print GNUnet version number. |
26 | .SH BUGS | 30 | .El |
27 | Report bugs by using Mantis <https://bugs.gnunet.org/> or by sending | 31 | .Sh SEE ALSO |
28 | electronic mail to <gnunet\-developers@gnu.org> | 32 | The full documentation for gnunet is maintained as a Texinfo manual. |
29 | .SH SEE ALSO | ||
30 | The full documentation for | ||
31 | .B gnunet | ||
32 | is maintained as a Texinfo manual. | ||
33 | If the | 33 | If the |
34 | .B info | 34 | .Xr info 1 |
35 | and | 35 | and gnunet programs are properly installed at your site, the command |
36 | .B gnunet | 36 | .Pp |
37 | programs are properly installed at your site, the command | 37 | .Dl info gnunet |
38 | .IP | 38 | .Pp |
39 | .B info gnunet | ||
40 | .PP | ||
41 | should give you access to the complete handbook, | 39 | should give you access to the complete handbook, |
42 | .IP | 40 | .Pp |
43 | .B info gnunet-c-tutorial | 41 | .Dl info gnunet-c-tutorial |
44 | .PP | 42 | .Pp |
45 | will give you access to a tutorial for developers. | 43 | will give you access to a tutorial for developers. |
46 | .PP | 44 | .sp |
47 | Depending on your installation, this information is also | 45 | Depending on your installation, this information is also available in |
48 | available in | 46 | .Xr gnunet 7 and |
49 | \fBgnunet\fP(7) and \fBgnunet-c-tutorial\fP(7). | 47 | .Xr gnunet-c-tutorial 7 . |
48 | .\".Sh HISTORY | ||
49 | .\".Sh AUTHORS | ||
50 | .Sh BUGS | ||
51 | Report bugs by using | ||
52 | .Lk https://bugs.gnunet.org | ||
53 | or by sending electronic mail to | ||
54 | .Aq Mt gnunet-developers@gnu.org . | ||
diff --git a/doc/man/gnunet-vpn.1 b/doc/man/gnunet-vpn.1 index ddb53a7bd..e0fd2b78c 100644 --- a/doc/man/gnunet-vpn.1 +++ b/doc/man/gnunet-vpn.1 | |||
@@ -1,101 +1,98 @@ | |||
1 | .TH GNUNET\-VPN 1 "February 25, 2012" "GNUnet" | 1 | .Dd February 25, 2012 |
2 | .SH NAME | 2 | .Dt GNUNET-VPN 1 |
3 | gnunet\-vpn \- manually setup a GNUnet VPN tunnel | 3 | .Sh NAME |
4 | .SH SYNOPSIS | 4 | .Nm gnunet-vpn |
5 | .B gnunet\-vpn | 5 | .Nd |
6 | .RI [ options ] | 6 | manually setup a GNUnet VPN tunnel |
7 | .br | 7 | .Sh SYNOPSIS |
8 | .SH DESCRIPTION | 8 | .Nm |
9 | \fBgnunet\-vpn\fP can be used to manually setup a VPN tunnel via the | 9 | .Op Fl 4 | \-ipv4 |
10 | GNUnet network. | 10 | .Op Fl 6 | \-ipv6 |
11 | .Op Fl c Ar FILENAME | Fl \-config= Ns Ar FILENAME | ||
12 | .Op Fl d Ar TIME | Fl \-duration Ar TIME | ||
13 | .Op Fl h | \-help | ||
14 | .Op Fl i Ar IP | Fl \-ip Ar IP | ||
15 | .Op Fl L Ar LOGLEVEL | Fl \-loglevel= Ns Ar LOGLEVEL | ||
16 | .Op Fl p Ar PEERID | Fl \-peer= Ns Ar PEERID | ||
17 | .Op Fl s Ar NAME | Fl \-service= Ns Ar NAME | ||
18 | .Op Fl t | \-tcp | ||
19 | .Op Fl u | \-udp | ||
20 | .Op Fl V | \-verbose | ||
21 | .Op Fl v | \-version | ||
22 | .Sh DESCRIPTION | ||
23 | .Nm | ||
24 | can be used to manually setup a VPN tunnel via the GNUnet network. | ||
11 | There are two main types of tunnels. | 25 | There are two main types of tunnels. |
12 | Tunnels to an exit node which routes the traffic to the global | 26 | Tunnels to an exit node which routes the traffic to the global Internet, and tunnels to a node that runs a service only within GNUnet. |
13 | Internet, and tunnels to a node that runs a service only within | ||
14 | GNUnet. | ||
15 | Depending on the type of tunnel, gnunet\-vpn takes different options. | 27 | Depending on the type of tunnel, gnunet\-vpn takes different options. |
16 | The "\-i" option is required for tunnels to an exit node, whereas the | 28 | The "\-i" option is required for tunnels to an exit node, whereas the "\-p" and "\-s" options in conjunction with either "\-u" or "\-t" are required for tunnels to services. |
17 | "\-p" and "\-s" options in conjunction with either "\-u" or "\-t" are | ||
18 | required for tunnels to services. | ||
19 | For exit tunnels, both UDP and TCP traffic will be redirected. | 29 | For exit tunnels, both UDP and TCP traffic will be redirected. |
20 | For service tunnels, either UDP ("\-u") or TCP ("\-t") traffic will | 30 | For service tunnels, either UDP ("\-u") or TCP ("\-t") traffic will be redirected. |
21 | be redirected. | ||
22 | The tool will display the IP address for this end of the tunnel. | 31 | The tool will display the IP address for this end of the tunnel. |
23 | The address can be displayed as soon as it has been allocated, or only | 32 | The address can be displayed as soon as it has been allocated, or only after ("\-a") the tunnel has been created. |
24 | after ("\-a") the tunnel has been created. | 33 | .Bl -tag -width Ds |
25 | .SH OPTIONS | 34 | .It Fl 4 | \-ipv4 |
26 | .B | ||
27 | .IP "\-4, \-\-ipv4" | ||
28 | Desired IP address on this end of the tunnel should be an IPv4 address. | 35 | Desired IP address on this end of the tunnel should be an IPv4 address. |
29 | .B | 36 | .It Fl 6 | \-ipv6 |
30 | .IP "\-6, \-\-ipv6" | ||
31 | Desired IP address on this end of the tunnel should be an IPv6 address. | 37 | Desired IP address on this end of the tunnel should be an IPv6 address. |
32 | .B | 38 | .It Fl c Ar FILENAME | Fl \-config= Ns Ar FILENAME |
33 | .IP "\-c FILENAME, \-\-config=FILENAME" | ||
34 | Use the configuration file FILENAME. | 39 | Use the configuration file FILENAME. |
35 | .B | 40 | .It Fl d Ar TIME | Fl \-duration Ar TIME |
36 | .IP "\-d TIME, \-\-duration TIME" | ||
37 | The mapping should be established for TIME. | 41 | The mapping should be established for TIME. |
38 | The value given must be a number followed by a space and a time unit, | 42 | The value given must be a number followed by a space and a time unit, for example "500 ms". |
39 | for example "500 ms". | ||
40 | Note that the quotes are required on the shell. | 43 | Note that the quotes are required on the shell. |
41 | Default is 5 minutes. | 44 | Default is 5 minutes. |
42 | .B | 45 | .It Fl h | \-help |
43 | .IP "\-h, \-\-help" | ||
44 | Print short help on options. | 46 | Print short help on options. |
45 | .B | 47 | .It Fl i Ar IP | Fl \-ip Ar IP |
46 | .IP "\-i IP, \-\-ip IP" | ||
47 | Tunnel should be to an exit node and connect to the given IPv4 or IPv6 | 48 | Tunnel should be to an exit node and connect to the given IPv4 or IPv6 |
48 | IP address. | 49 | IP address. |
49 | Note that you can specify an IPv6 address as the target here, even in | 50 | Note that you can specify an IPv6 address as the target here, even in |
50 | combination with "\-4" (4to6) and similarly you can specify an IPv4 | 51 | combination with "\-4" (4to6) and similarly you can specify an IPv4 |
51 | address in combination with "\-6" (6to4). | 52 | address in combination with "\-6" (6to4). |
52 | .B | 53 | .It Fl L Ar LOGLEVEL | Fl \-loglevel= Ns Ar LOGLEVEL |
53 | .IP "\-L LOGLEVEL, \-\-loglevel=LOGLEVEL" | ||
54 | Use LOGLEVEL for logging. | 54 | Use LOGLEVEL for logging. |
55 | Valid values are DEBUG, INFO, WARNING and ERROR. | 55 | Valid values are DEBUG, INFO, WARNING and ERROR. |
56 | .B | 56 | .It Fl p Ar PEERID | Fl \-peer= Ns Ar PEERID |
57 | .IP "\-p PEERID, \-\-peer=PEERID" | ||
58 | Name of the peer offering the service to connect to. | 57 | Name of the peer offering the service to connect to. |
59 | Cannot be used in conjunction with "\-i", requires "\-s". | 58 | Cannot be used in conjunction with "\-i", requires "\-s". |
60 | .B | 59 | .It Fl s Ar NAME | Fl \-service= Ns Ar NAME |
61 | .IP "\-s NAME, \-\-service=NAME" | ||
62 | Name of the service running on the target peer. | 60 | Name of the service running on the target peer. |
63 | Cannot be used in conjunction with "\-i", requires "\-p". | 61 | Cannot be used in conjunction with "\-i", requires "\-p". |
64 | .B | 62 | .It Fl t | \-tcp |
65 | .IP "\-t, \-\-tcp" | ||
66 | Service runs TCP. | 63 | Service runs TCP. |
67 | Either "\-t" or "\-u" must be specified when using "\-s". | 64 | Either "\-t" or "\-u" must be specified when using "\-s". |
68 | .B | 65 | .It Fl u | \-udp |
69 | .IP "\-u, \-\-udp" | ||
70 | Service runs UDP. | 66 | Service runs UDP. |
71 | Either "\-t" or "\-u" must be specified when using "\-s". | 67 | Either "\-t" or "\-u" must be specified when using "\-s". |
72 | .B | 68 | .It Fl V | \-verbose |
73 | .IP "\-V, \-\-verbose" | ||
74 | Be verbose. | 69 | Be verbose. |
75 | .B | 70 | .It Fl v | \-version |
76 | .IP "\-v, \-\-version" | ||
77 | Print GNUnet version number. | 71 | Print GNUnet version number. |
78 | .SH BUGS | 72 | .El |
79 | Report bugs by using Mantis <https://bugs.gnunet.org/> or by sending | 73 | .Sh SEE ALSO |
80 | electronic mail to <gnunet\-developers@gnu.org> | 74 | .Xr gnunet-setup 1 |
81 | .SH SEE ALSO | 75 | .sp |
82 | gnunet\-setup(1) | 76 | The full documentation for gnunet is maintained as a Texinfo manual. |
83 | The full documentation for | 77 | If the |
84 | .B gnunet | 78 | .Xr info 1 |
85 | is maintained as a Texinfo manual. If the | 79 | and gnunet programs are properly installed at your site, the command |
86 | .B info | 80 | .Pp |
87 | and | 81 | .Dl info gnunet |
88 | .B gnunet | 82 | .Pp |
89 | programs are properly installed at your site, the command | ||
90 | .IP | ||
91 | .B info gnunet | ||
92 | .PP | ||
93 | should give you access to the complete handbook, | 83 | should give you access to the complete handbook, |
94 | .IP | 84 | .Pp |
95 | .B info gnunet-c-tutorial | 85 | .Dl info gnunet-c-tutorial |
96 | .PP | 86 | .Pp |
97 | will give you access to a tutorial for developers. | 87 | will give you access to a tutorial for developers. |
98 | .PP | 88 | .sp |
99 | Depending on your installation, this information is also | 89 | Depending on your installation, this information is also available in |
100 | available in | 90 | .Xr gnunet 7 and |
101 | \fBgnunet\fP(7) and \fBgnunet-c-tutorial\fP(7). | 91 | .Xr gnunet-c-tutorial 7 . |
92 | .\".Sh HISTORY | ||
93 | .\".Sh AUTHORS | ||
94 | .Sh BUGS | ||
95 | Report bugs by using | ||
96 | .Lk https://bugs.gnunet.org | ||
97 | or by sending electronic mail to | ||
98 | .Aq Mt gnunet-developers@gnu.org . | ||
diff --git a/doc/man/gnunet-zoneimport.1 b/doc/man/gnunet-zoneimport.1 index 2a67718f9..e99b235b8 100644 --- a/doc/man/gnunet-zoneimport.1 +++ b/doc/man/gnunet-zoneimport.1 | |||
@@ -1,90 +1,106 @@ | |||
1 | .TH GNUNET-ZONEIMPORT 1 "April 23, 2018" "GNUnet" | 1 | .\" This file is part of GNUnet. |
2 | .SH NAME | 2 | .\" Copyright (C) 2018, 2019 GNUnet e.V. |
3 | gnunet\-zoneimport \- import DNS zone into GNS zone | 3 | .\" |
4 | .SH SYNOPSIS | 4 | .\" Permission is granted to copy, distribute and/or modify this document |
5 | .B gnunet\-zoneimport [IP]+ | 5 | .\" under the terms of the GNU Free Documentation License, Version 1.3 or |
6 | .SH DESCRIPTION | 6 | .\" any later version published by the Free Software Foundation; with no |
7 | \fBgnunet\-zoneimport\fP reads a list of domain names (FQDN) from | 7 | .\" Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A |
8 | stdin and issues DNS queries for each of the domain names given. It | 8 | .\" copy of the license is included in the file |
9 | then checks if a local ego with a name matching the domain | 9 | .\" ``FDL-1.3''. |
10 | exists. Specifically, if the domain name is "example.fr", it will | 10 | .\" |
11 | check if an ego "fr" exists, while for a domain "example.com.fr" it | 11 | .\" A copy of the license is also available from the Free Software |
12 | will look for an ego called "com.fr"). If so, it will convert the DNS | 12 | .\" Foundation Web site at @url{http://www.gnu.org/licenses/fdl.html}. |
13 | records into GNS records (in particular converting NS records and glue | 13 | .\" |
14 | records to GNS2DNS records) and add them to the namestore under the | 14 | .\" Alternately, this document is also available under the General |
15 | label ("example" in the examples above). | 15 | .\" Public License, version 3 or later, as published by the Free Software |
16 | .PP | 16 | .\" Foundation. A copy of the license is included in the file |
17 | The arguments given to gnunet\-zoneimport is a list of IP addresses of | 17 | .\" ``GPL3''. |
18 | DNS servers to query. | 18 | .\" |
19 | .PP | 19 | .\" A copy of the license is also available from the Free Software |
20 | gnunet\-zoneimport will usually never terminate: it will check when | 20 | .\" Foundation Web site at @url{http://www.gnu.org/licenses/gpl.html}. |
21 | DNS records expire, and re-issue requests when the old DNS records | 21 | .\" |
22 | have expired so that GNS always has the latest data. | 22 | .\" SPDX-License-Identifier: GPL3.0-or-later OR FDL1.3-or-later |
23 | .PP | 23 | .\" |
24 | gnunet\-zoneimport will issue many DNS queries in parallel, but is | 24 | .Dd April 23, 2018 |
25 | rate-limited in various ways, so most DNS servers should easily handle | 25 | .Dt GNUNET-ZONEIMPORT 1 |
26 | the load. gnunet\-zoneimport will perform a limited number of retries | 26 | .Os |
27 | if queries fail. | 27 | .Sh NAME |
28 | .PP | 28 | .Nm gnunet-zoneimport |
29 | gnunet\-zoneimport operates incrementally. It will check if the | 29 | .Nd |
30 | namestore already has (non-expired) records stored for a given name in | 30 | import DNS zone into GNS zone |
31 | the respective zone and not issue those requests again. Thus, it is | 31 | .Sh SYNOPSIS |
32 | fine to restart gnunet\-zoneimport whenever the list of domain names | 32 | .Nm |
33 | changes. | 33 | .Op Fl c Ar FILENAME | \-config= Ns Ar FILENAME |
34 | .PP | 34 | .Op Fl h | \-help |
35 | Finally, gnunet\-zoneimport keeps information for each domain name in | 35 | .Op Fl m Ar RELATIVETIME | Fl \-minimum-expiration= Ns Ar RELATIVETIME |
36 | memory. This consumes about 200 bytes per domain name, or 1 GB for 5 | 36 | .Op Fl s Ar MAPSIZE | Fl \-size= Ns Ar MAPSIZE |
37 | million labels. | 37 | .Op Ar \IP |
38 | .SH OPTIONS | 38 | .Sh DESCRIPTION |
39 | .B | 39 | .Nm |
40 | .IP "\-c FILENAME, \-\-config=FILENAME" | 40 | reads a list of domain names (FQDN) from stdin and issues DNS queries for each of the domain names given. |
41 | It then checks if a local ego with a name matching the domain exists. | ||
42 | Specifically, if the domain name is "example.fr", it will check if an ego "fr" exists, while for a domain "example.com.fr" it will look for an ego called "com.fr"). | ||
43 | If so, it will convert the DNS records into GNS records (in particular converting NS records and glue records to GNS2DNS records) and add them to the namestore under the label ("example" in the examples above). | ||
44 | .Pp | ||
45 | The arguments given to gnunet-zoneimport is a list of IP addresses of DNS servers to query. | ||
46 | .Pp | ||
47 | gnunet-zoneimport will usually never terminate: it will check when DNS records expire, and re-issue requests when the old DNS records have expired so that GNS always has the latest data. | ||
48 | .Pp | ||
49 | gnunet-zoneimport will issue many DNS queries in parallel, but is rate-limited in various ways, so most DNS servers should easily handle the load. | ||
50 | gnunet-zoneimport will perform a limited number of retries if queries fail. | ||
51 | .Pp | ||
52 | gnunet-zoneimport operates incrementally. | ||
53 | It will check if the namestore already has (non-expired) records stored for a given name in the respective zone and not issue those requests again. | ||
54 | Thus, it is fine to restart gnunet-zoneimport whenever the list of domain names changes. | ||
55 | .Pp | ||
56 | Finally, gnunet-zoneimport keeps information for each domain name in memory. | ||
57 | This consumes about 200 bytes per domain name, or 1 GB for 5 million labels. | ||
58 | .Bl -tag -width Ds | ||
59 | .It Fl c Ar FILENAME | \-config= Ns Ar FILENAME | ||
41 | Use the configuration file FILENAME. | 60 | Use the configuration file FILENAME. |
42 | .B | 61 | .It Fl h | \-help |
43 | .IP "\-h, \-\-help" | ||
44 | Print short help on options. | 62 | Print short help on options. |
45 | .B | 63 | .It Fl m Ar RELATIVETIME | Fl \-minimum-expiration= Ns Ar RELATIVETIME |
46 | .IP "\-m RELATIVETIME, \-\-minimum-expiration=RELATIVETIME" | 64 | Ensure that imported DNS records never have an expiration time that is less than RELATIVETIME into the future. |
47 | .B | 65 | RELATIVETIME is a time given like "1 week" or "1 h". |
48 | Ensure that imported DNS records never have an expiration time that | 66 | If DNS returns records with a shorter lifetime, gnunet\-zoneimport will simply bump the lifetime to the specified value (relative to the time of the import). |
49 | is less than RELATIVETIME into the future. RELATIVETIME is a time | 67 | Default is zero. |
50 | given like "1 week" or "1 h". If DNS returns records with a shorter | 68 | .It Fl s Ar MAPSIZE | Fl \-size= Ns Ar MAPSIZE |
51 | lifetime, gnunet\-zoneimport will simply bump the lifetime to the | 69 | Specifies the size (in number of entries) to use for the main hash map. |
52 | specified value (relative to the time of the import). Default is zero. | 70 | The value provided should be at least twice the number of domain names that will be given to the tool. |
53 | .IP "\-s MAPSIZE, \-\-size=MAPSIZE" | 71 | This option is required for very large zones where the number of records encountered is too large for the automatic growth mechanism to work (that one is limited to at most 16 MB allocations for security reasons). |
54 | Specifies the size (in number of entries) to use for the main hash | 72 | Do not worry about this unless you are importing millions of domain names from a zone. |
55 | map. The value provided should be at least twice the number of domain | 73 | .It Ar \IP |
56 | names that will be given to the tool. This option is required for very | 74 | IP Is the list of IPs given. |
57 | large zones where the number of records encountered is too large for | 75 | .El |
58 | the automatic growth mechanism to work (that one is limited to at most | 76 | .Sh EXAMPLES |
59 | 16 MB allocations for security reasons). Do not worry about this | ||
60 | unless you are importing millions of domain names from a zone. | ||
61 | .SH NOTES | ||
62 | .TP | ||
63 | Typical invocaton would be: | 77 | Typical invocaton would be: |
64 | $ gnunet\-zoneimport 1.2.3.4 < names.txt | 78 | .Pp |
65 | .SH BUGS | 79 | .Dl $ gnunet\-zoneimport 1.2.3.4 < names.txt |
66 | Report bugs by using Mantis <https://bugs.gnunet.org/> or by sending | 80 | .Sh SEE ALSO |
67 | electronic mail to <gnunet\-developers@gnu.org> | 81 | .Xr gnunet-gns 1 , |
68 | .SH SEE ALSO | 82 | .Xr gnunet-namestore 1 |
69 | gnunet\-gns(1), gnunet\-namestore(1) | 83 | .sp |
70 | .PP | 84 | The full documentation for gnunet is maintained as a Texinfo manual. |
71 | The full documentation for | ||
72 | .B gnunet | ||
73 | is maintained as a Texinfo manual. | ||
74 | If the | 85 | If the |
75 | .B info | 86 | .Xr info 1 |
76 | and | 87 | and gnunet programs are properly installed at your site, the command |
77 | .B gnunet | 88 | .Pp |
78 | programs are properly installed at your site, the command | 89 | .Dl info gnunet |
79 | .IP | 90 | .Pp |
80 | .B info gnunet | ||
81 | .PP | ||
82 | should give you access to the complete handbook, | 91 | should give you access to the complete handbook, |
83 | .IP | 92 | .Pp |
84 | .B info gnunet-c-tutorial | 93 | .Dl info gnunet-c-tutorial |
85 | .PP | 94 | .Pp |
86 | will give you access to a tutorial for developers. | 95 | will give you access to a tutorial for developers. |
87 | .PP | 96 | .sp |
88 | Depending on your installation, this information is also | 97 | Depending on your installation, this information is also available in |
89 | available in | 98 | .Xr gnunet 7 and |
90 | \fBgnunet\fP(7) and \fBgnunet-c-tutorial\fP(7). | 99 | .Xr gnunet-c-tutorial 7 . |
100 | .\".Sh HISTORY | ||
101 | .\".Sh AUTHORS | ||
102 | .Sh BUGS | ||
103 | Report bugs by using | ||
104 | .Lk https://bugs.gnunet.org | ||
105 | or by sending electronic mail to | ||
106 | .Aq Mt gnunet-developers@gnu.org . | ||
diff --git a/doc/man/gnunet.conf.5.in b/doc/man/gnunet.conf.5.in index 560704784..82340996a 100644 --- a/doc/man/gnunet.conf.5.in +++ b/doc/man/gnunet.conf.5.in | |||
@@ -1,4 +1,27 @@ | |||
1 | .\" -*- mode: nroff -*- | 1 | .\" -*- mode: nroff -*- |
2 | .\" This file is part of Ascension. | ||
3 | .\" Copyright (C) 2012-2015,2018,2019 GNUnet e.V. | ||
4 | .\" | ||
5 | .\" Permission is granted to copy, distribute and/or modify this document | ||
6 | .\" under the terms of the GNU Free Documentation License, Version 1.3 or | ||
7 | .\" any later version published by the Free Software Foundation; with no | ||
8 | .\" Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A | ||
9 | .\" copy of the license is included in the file | ||
10 | .\" ``FDL-1.3''. | ||
11 | .\" | ||
12 | .\" A copy of the license is also available from the Free Software | ||
13 | .\" Foundation Web site at @url{http://www.gnu.org/licenses/fdl.html}. | ||
14 | .\" | ||
15 | .\" Alternately, this document is also available under the General | ||
16 | .\" Public License, version 3 or later, as published by the Free Software | ||
17 | .\" Foundation. A copy of the license is included in the file | ||
18 | .\" ``GPL3''. | ||
19 | .\" | ||
20 | .\" A copy of the license is also available from the Free Software | ||
21 | .\" Foundation Web site at @url{http://www.gnu.org/licenses/gpl.html}. | ||
22 | .\" | ||
23 | .\" SPDX-License-Identifier: GPL3.0-or-later OR FDL1.3-or-later | ||
24 | .\" | ||
2 | .TH GNUNET.CONF "5" "October 26, 2018" "GNUnet" | 25 | .TH GNUNET.CONF "5" "October 26, 2018" "GNUnet" |
3 | .SH NAME | 26 | .SH NAME |
4 | gnunet.conf \- GNUnet configuration file | 27 | gnunet.conf \- GNUnet configuration file |
@@ -27,7 +50,7 @@ Default values for all of the options can be found in the files in the | |||
27 | "$GNUNET_PREFIX/share/gnunet/config.d/" directory. A typical setup will | 50 | "$GNUNET_PREFIX/share/gnunet/config.d/" directory. A typical setup will |
28 | work out of the box with those. See the examples section below for | 51 | work out of the box with those. See the examples section below for |
29 | some common setups on top of that. | 52 | some common setups on top of that. |
30 | .SH General OPTIONS | 53 | .SS GENERAL OPTIONS |
31 | Many options will be common between sections. They can be repeated under | 54 | Many options will be common between sections. They can be repeated under |
32 | each section with different values. The "[PATHS]" section is special. | 55 | each section with different values. The "[PATHS]" section is special. |
33 | Here, it is possible to specify values for variables like "GNUNET_HOME". | 56 | Here, it is possible to specify values for variables like "GNUNET_HOME". |
@@ -85,7 +108,7 @@ The following options are generic and shared by all services: | |||
85 | Set to YES if this service should be run per-user, NO if this is a system | 108 | Set to YES if this service should be run per-user, NO if this is a system |
86 | service. End-users should never have to change the defaults GNUnet provides | 109 | service. End-users should never have to change the defaults GNUnet provides |
87 | for this option. | 110 | for this option. |
88 | .SH ATS Options | 111 | .SS ATS OPTIONS |
89 | .IP UNSPECIFIED_QUOTA_IN | 112 | .IP UNSPECIFIED_QUOTA_IN |
90 | quotes in KiB or MiB per seconds. Or use the word "unlimited" | 113 | quotes in KiB or MiB per seconds. Or use the word "unlimited" |
91 | .IP UNSPECIFIED_QUOTA_OUT | 114 | .IP UNSPECIFIED_QUOTA_OUT |
@@ -109,12 +132,11 @@ The following options are generic and shared by all services: | |||
109 | .SH EXAMPLES | 132 | .SH EXAMPLES |
110 | This example is a simple way to get started, using a server that has a known | 133 | This example is a simple way to get started, using a server that has a known |
111 | list of peers to get you started. Most users will be behind a firewall on | 134 | list of peers to get you started. Most users will be behind a firewall on |
112 | IPv4, as such NAT is enabled. Please rememeber to change your IP address | 135 | IPv4, as such NAT is enabled. Please remember to change your IP address |
113 | to the actual external address for your usage. | 136 | to the actual external address for your usage. |
114 | .PP | 137 | .PP |
115 | [hostlist] | 138 | [hostlist] |
116 | OPTIONS = \-b | 139 | OPTIONS = \-b \-e |
117 | SERVERS = http://v9.gnunet.org:58080/ | ||
118 | 140 | ||
119 | [nat] | 141 | [nat] |
120 | BEHIND_NAT = YES | 142 | BEHIND_NAT = YES |
@@ -129,9 +151,6 @@ to the actual external address for your usage. | |||
129 | .TP | 151 | .TP |
130 | ~/.config/gnunet.conf | 152 | ~/.config/gnunet.conf |
131 | GNUnet configuration file | 153 | GNUnet configuration file |
132 | .SH BUGS | ||
133 | Report bugs by using Mantis <https://bugs.gnunet.org/> or by sending | ||
134 | electronic mail to <bug-gnunet@gnu.org> | ||
135 | .SH SEE ALSO | 154 | .SH SEE ALSO |
136 | \fBgnunet\-setup\fP(1), \fBgnunet\-arm\fP(1) | 155 | \fBgnunet\-setup\fP(1), \fBgnunet\-arm\fP(1) |
137 | .PP | 156 | .PP |
@@ -155,3 +174,9 @@ will give you access to a tutorial for developers. | |||
155 | Depending on your installation, this information is also | 174 | Depending on your installation, this information is also |
156 | available in | 175 | available in |
157 | \fBgnunet\fP(7) and \fBgnunet-c-tutorial\fP(7). | 176 | \fBgnunet\fP(7) and \fBgnunet-c-tutorial\fP(7). |
177 | .SH HISTORY | ||
178 | .PP | ||
179 | This man page first appeared in October 2012 in GNUnet. | ||
180 | .SH BUGS | ||
181 | Report bugs by using Mantis <https://bugs.gnunet.org/> or by sending | ||
182 | electronic mail to <bug-gnunet@gnu.org> | ||
diff --git a/doc/man/produce_html.sh b/doc/man/produce_html.sh new file mode 100755 index 000000000..ce6dea304 --- /dev/null +++ b/doc/man/produce_html.sh | |||
@@ -0,0 +1,14 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | existence() | ||
4 | { | ||
5 | command -v "$1" >/dev/null 2>&1 | ||
6 | } | ||
7 | |||
8 | if existence mandoc; | ||
9 | then | ||
10 | for f in `find . -name \*\.[1-9]`; | ||
11 | do | ||
12 | mandoc -T html $f > $f.html; | ||
13 | done | ||
14 | fi | ||
diff --git a/doc/man/texi2mdoc-generation.sh b/doc/man/texi2mdoc-generation.sh new file mode 100755 index 000000000..b88987cda --- /dev/null +++ b/doc/man/texi2mdoc-generation.sh | |||
@@ -0,0 +1,15 @@ | |||
1 | #!/bin/sh | ||
2 | # This script is in the public-domain. | ||
3 | # GNUnet e.V. 2019 | ||
4 | # | ||
5 | # Commentary: generate texi2mdoc output. This would be easier with | ||
6 | # bmake / BSDmake, oh well. | ||
7 | # | ||
8 | # Excercise for future readers: don't fix this. | ||
9 | |||
10 | # echo $(pwd) | ||
11 | cd ../tutorial | ||
12 | texi2mdoc -I$(pwd):$(pwd)/chapters gnunet-tutorial.texi > ../man/gnunet-c-tutorial.7 | ||
13 | # echo $(pwd) | ||
14 | cd ../handbook | ||
15 | texi2mdoc -I$(pwd):$(pwd)/chapters gnunet.texi > ../man/gnunet-documentation.7 | ||
diff --git a/doc/tutorial/Makefile.am b/doc/tutorial/Makefile.am index d0fd14a4a..f3908aa99 100644 --- a/doc/tutorial/Makefile.am +++ b/doc/tutorial/Makefile.am | |||
@@ -8,7 +8,7 @@ docdir = $(datadir)/doc/gnunet/ | |||
8 | # $(DOT_FILES:%.dot=%.pdf) | 8 | # $(DOT_FILES:%.dot=%.pdf) |
9 | 9 | ||
10 | # See ../handbook/Makefile.am comment! | 10 | # See ../handbook/Makefile.am comment! |
11 | AM_MAKEINFOHTMLFLAGS = --no-split --css-include=docstyle.css | 11 | AM_MAKEINFOHTMLFLAGS = --no-split --css-include=style.css --css-include=manual.css |
12 | 12 | ||
13 | #DOT_OPTIONS = \ | 13 | #DOT_OPTIONS = \ |
14 | # -Gratio=.9 -Gnodesep=.005 -Granksep=.00005 \ | 14 | # -Gratio=.9 -Gnodesep=.005 -Granksep=.00005 \ |
@@ -93,12 +93,7 @@ version.texi/replacement/revert: | |||
93 | @echo "@set VERSION GPACKAGE_VERSION" > gversion.texi | 93 | @echo "@set VERSION GPACKAGE_VERSION" > gversion.texi |
94 | @echo "@set EDITION GPACKAGE_VERSION" >> gversion.texi | 94 | @echo "@set EDITION GPACKAGE_VERSION" >> gversion.texi |
95 | 95 | ||
96 | if TEXI2MDOC_GENERATION | 96 | |
97 | gnunet-tutorial.7: version.texi/replacement | ||
98 | @echo Attempting to output an mdoc formatted section 7 document | ||
99 | @texi2mdoc -I$(pwd):$(pwd)/chapters gnunet-c-tutorial.texi > ../man/gnunet-c-tutorial.7 | ||
100 | # TODO: (Maybe) other outputs resulting from this. | ||
101 | endif | ||
102 | 97 | ||
103 | # FIXME: rm *.html and *.pdf | 98 | # FIXME: rm *.html and *.pdf |
104 | #doc-clean: | 99 | #doc-clean: |
diff --git a/doc/tutorial/gnunet-tutorial.texi b/doc/tutorial/gnunet-tutorial.texi index ef3318cad..df75fb995 100644 --- a/doc/tutorial/gnunet-tutorial.texi +++ b/doc/tutorial/gnunet-tutorial.texi | |||
@@ -1,10 +1,10 @@ | |||
1 | \input texinfo | 1 | \input texinfo |
2 | @c %**start of header | 2 | |
3 | @setfilename gnunet-tutorial.info | 3 | @setfilename gnunet-tutorial.info |
4 | @documentencoding UTF-8 | 4 | @documentencoding UTF-8 |
5 | @settitle GNUnet Tutorial | 5 | @settitle GNUnet Tutorial |
6 | @c @exampleindent 2 | 6 | @c @exampleindent 2 |
7 | @c %**end of header | 7 | |
8 | 8 | ||
9 | @include version.texi | 9 | @include version.texi |
10 | 10 | ||
diff --git a/doc/tutorial/manual.css b/doc/tutorial/manual.css index 404525dc2..0fe08b83c 100644 --- a/doc/tutorial/manual.css +++ b/doc/tutorial/manual.css | |||
@@ -1,6 +1,6 @@ | |||
1 | /* Style-sheet to use for manuals (copied from Emacs) */ | 1 | /* Style-sheet to use for manuals (copied from Emacs) */ |
2 | 2 | ||
3 | @import url('/style.css'); | 3 | @import url('style.css'); |
4 | 4 | ||
5 | /* makeinfo 6.5 converts @quotation to <blockquote>. Highlight them. */ | 5 | /* makeinfo 6.5 converts @quotation to <blockquote>. Highlight them. */ |
6 | blockquote { | 6 | blockquote { |
diff --git a/doc/tutorial/run-gendocs.sh b/doc/tutorial/run-gendocs.sh index 5e60a2d0f..b4899722c 100755 --- a/doc/tutorial/run-gendocs.sh +++ b/doc/tutorial/run-gendocs.sh | |||
@@ -7,7 +7,7 @@ make version.texi/replacement | |||
7 | #mkdir gnunet-c-tutorial | 7 | #mkdir gnunet-c-tutorial |
8 | #mv * gnunet-c-tutorial/ | 8 | #mv * gnunet-c-tutorial/ |
9 | #cd .. | 9 | #cd .. |
10 | ./gendocs.sh --email gnunet-developers@gnu.org gnunet "GNUnet Reference Manual" -o "manual/gnunet" | 10 | #./gendocs.sh --email gnunet-developers@gnu.org gnunet "GNUnet Reference Manual" -o "manual/gnunet" |
11 | #cd manual | 11 | #cd manual |
12 | #mkdir handbook | 12 | #mkdir handbook |
13 | #mkdir ../tmp-gnunet | 13 | #mkdir ../tmp-gnunet |
diff --git a/doc/tutorial/style.css b/doc/tutorial/style.css index 0c4525437..e5271197b 100644 --- a/doc/tutorial/style.css +++ b/doc/tutorial/style.css | |||
@@ -1,6 +1,6 @@ | |||
1 | /* This stylesheet is used by manuals and a few older resources. */ | 1 | /* This stylesheet is used by manuals and a few older resources. */ |
2 | 2 | ||
3 | @import url('/reset.css'); | 3 | @import url('reset.css'); |
4 | 4 | ||
5 | 5 | ||
6 | /*** PAGE LAYOUT ***/ | 6 | /*** PAGE LAYOUT ***/ |