aboutsummaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/handbook/chapters/developer.texi83
-rw-r--r--doc/handbook/chapters/installation.texi27
-rw-r--r--doc/handbook/chapters/keyconcepts.texi2
-rw-r--r--doc/handbook/chapters/philosophy.texi2
-rw-r--r--doc/handbook/chapters/preface.texi4
-rw-r--r--doc/handbook/chapters/user.texi22
-rw-r--r--doc/index.html2
-rw-r--r--doc/man/gnunet-config.18
-rw-r--r--doc/man/gnunet-datastore.12
-rw-r--r--doc/man/gnunet-namestore.12
-rw-r--r--doc/release_policy.rfc.txt10
-rw-r--r--doc/tutorial/tutorial.texi12
12 files changed, 88 insertions, 88 deletions
diff --git a/doc/handbook/chapters/developer.texi b/doc/handbook/chapters/developer.texi
index 9bb74c3de..1bf7a7b24 100644
--- a/doc/handbook/chapters/developer.texi
+++ b/doc/handbook/chapters/developer.texi
@@ -392,9 +392,9 @@ etc.).
392@item @file{transport/} --- transport service 392@item @file{transport/} --- transport service
393The transport service is responsible for managing the 393The transport service is responsible for managing the
394basic P2P communication. It uses plugins to support P2P communication 394basic P2P communication. It uses plugins to support P2P communication
395over TCP, UDP, HTTP, HTTPS and other protocols.The transport service 395over TCP, UDP, HTTP, HTTPS and other protocols. The transport service
396validates peer addresses, enforces bandwidth restrictions, limits the 396validates peer addresses, enforces bandwidth restrictions, limits the
397total number of connections and enforces connectivity restrictions (i.e. 397total number of connections and enforces connectivity restrictions (e.g.
398friends-only). 398friends-only).
399@item @file{peerinfo-tool/} --- gnunet-peerinfo 399@item @file{peerinfo-tool/} --- gnunet-peerinfo
400This directory contains the gnunet-peerinfo binary which can be used to 400This directory contains the gnunet-peerinfo binary which can be used to
@@ -746,21 +746,21 @@ Here you can find some rules to help you write code for GNUnet.
746 746
747@itemize @bullet 747@itemize @bullet
748@item services and daemons use their directory name in 748@item services and daemons use their directory name in
749@code{GNUNET_log_setup} (i.e. 'core') and log using 749@code{GNUNET_log_setup} (e.g. 'core') and log using
750plain 'GNUNET_log'. 750plain 'GNUNET_log'.
751@item command-line tools use their full name in 751@item command-line tools use their full name in
752@code{GNUNET_log_setup} (i.e. 'gnunet-publish') and log using 752@code{GNUNET_log_setup} (e.g. 'gnunet-publish') and log using
753plain 'GNUNET_log'. 753plain 'GNUNET_log'.
754@item service access libraries log using 754@item service access libraries log using
755'@code{GNUNET_log_from}' and use '@code{DIRNAME-api}' for the 755'@code{GNUNET_log_from}' and use '@code{DIRNAME-api}' for the
756component (i.e. 'core-api') 756component (e.g. 'core-api')
757@item pure libraries (without associated service) use 757@item pure libraries (without associated service) use
758'@code{GNUNET_log_from}' with the component set to their 758'@code{GNUNET_log_from}' with the component set to their
759library name (without lib or '@file{.so}'), 759library name (without lib or '@file{.so}'),
760which should also be their directory name (i.e. '@file{nat}') 760which should also be their directory name (e.g. '@file{nat}')
761@item plugins should use '@code{GNUNET_log_from}' 761@item plugins should use '@code{GNUNET_log_from}'
762with the directory name and the plugin name combined to produce 762with the directory name and the plugin name combined to produce
763the component name (i.e. 'transport-tcp'). 763the component name (e.g. 'transport-tcp').
764@item logging should be unified per-file by defining a 764@item logging should be unified per-file by defining a
765@code{LOG} macro with the appropriate arguments, 765@code{LOG} macro with the appropriate arguments,
766along these lines: 766along these lines:
@@ -832,14 +832,14 @@ test
832@subsubsection src/ directories 832@subsubsection src/ directories
833 833
834@itemize @bullet 834@itemize @bullet
835@item gnunet-NAME: end-user applications (i.e., gnunet-search, gnunet-arm) 835@item gnunet-NAME: end-user applications (like gnunet-search or gnunet-arm)
836@item gnunet-service-NAME: service processes with accessor library (i.e., 836@item gnunet-service-NAME: service processes with accessor library (e.g.
837gnunet-service-arm) 837gnunet-service-arm)
838@item libgnunetNAME: accessor library (_service.h-header) or standalone 838@item libgnunetNAME: accessor library (_service.h-header) or standalone
839library (_lib.h-header) 839library (_lib.h-header)
840@item gnunet-daemon-NAME: daemon process without accessor library (i.e., 840@item gnunet-daemon-NAME: daemon process without accessor library (e.g.
841gnunet-daemon-hostlist) and no GNUnet management port 841gnunet-daemon-hostlist) and no GNUnet management port
842@item libgnunet_plugin_DIR_NAME: loadable plugins (i.e., 842@item libgnunet_plugin_DIR_NAME: loadable plugins (e.g.
843libgnunet_plugin_transport_tcp) 843libgnunet_plugin_transport_tcp)
844@end itemize 844@end itemize
845 845
@@ -2305,7 +2305,7 @@ for new developers):
2305@itemize @bullet 2305@itemize @bullet
2306@item logging (common_logging.c) 2306@item logging (common_logging.c)
2307@item memory allocation (common_allocation.c) 2307@item memory allocation (common_allocation.c)
2308@item endianess conversion (common_endian.c) 2308@item endianness conversion (common_endian.c)
2309@item internationalization (common_gettext.c) 2309@item internationalization (common_gettext.c)
2310@item String manipulation (string.c) 2310@item String manipulation (string.c)
2311@item file access (disk.c) 2311@item file access (disk.c)
@@ -4287,7 +4287,7 @@ which will warn you if you don't have the necessary libraries.
4287@c work!@ Finally you just have to be sure that you have the correct drivers 4287@c work!@ Finally you just have to be sure that you have the correct drivers
4288@c for your Bluetooth device installed and that your device is on and in a 4288@c for your Bluetooth device installed and that your device is on and in a
4289@c discoverable mode. The Windows Bluetooth Stack supports only the RFCOMM 4289@c discoverable mode. The Windows Bluetooth Stack supports only the RFCOMM
4290@c protocol so we cannot turn on your device programatically! 4290@c protocol so we cannot turn on your device programmatically!
4291 4291
4292@c FIXME: Change to unique title 4292@c FIXME: Change to unique title
4293@node How does it work2? 4293@node How does it work2?
@@ -4638,7 +4638,7 @@ simply use the socket.
4638@c implementation follows the same principles as the GNU/Linux one: 4638@c implementation follows the same principles as the GNU/Linux one:
4639 4639
4640@c @itemize @bullet 4640@c @itemize @bullet
4641@c @item It has a initalization part where it initializes the 4641@c @item It has a initialization part where it initializes the
4642@c Windows Sockets, creates a RFCOMM socket which will be binded and switched 4642@c Windows Sockets, creates a RFCOMM socket which will be binded and switched
4643@c to the listening mode and registers a SDP service. In the Microsoft 4643@c to the listening mode and registers a SDP service. In the Microsoft
4644@c Bluetooth API there are two ways to work with the SDP: 4644@c Bluetooth API there are two ways to work with the SDP:
@@ -5023,7 +5023,7 @@ key of the other peer
5023ephemeral key of the other peer, but we are waiting for the other peer to 5023ephemeral key of the other peer, but we are waiting for the other peer to
5024confirm it's authenticity (ability to decode) via challenge-response. 5024confirm it's authenticity (ability to decode) via challenge-response.
5025@item @code{KX_STATE_UP} The connection is fully up from the point of 5025@item @code{KX_STATE_UP} The connection is fully up from the point of
5026view of the sender (now performing keep-alives) 5026view of the sender (now performing keep-alive)
5027@item @code{KX_STATE_REKEY_SENT} The sender has initiated a rekeying 5027@item @code{KX_STATE_REKEY_SENT} The sender has initiated a rekeying
5028operation; the other peer has so far failed to confirm a working 5028operation; the other peer has so far failed to confirm a working
5029connection using the new ephemeral key 5029connection using the new ephemeral key
@@ -5653,7 +5653,7 @@ download. The client component is basically a HTTP client
5653(based on libcurl) which can download hostlists from one or more websites. 5653(based on libcurl) which can download hostlists from one or more websites.
5654The hostlist format is a binary blob containing a sequence of HELLO 5654The hostlist format is a binary blob containing a sequence of HELLO
5655messages. Note that any HTTP server can theoretically serve a hostlist, 5655messages. Note that any HTTP server can theoretically serve a hostlist,
5656the build-in hostlist server makes it simply convenient to offer this 5656the built-in hostlist server makes it simply convenient to offer this
5657service. 5657service.
5658 5658
5659 5659
@@ -5895,7 +5895,7 @@ The size of the list of URLs is restricted, so if an additional server is
5895added and the list is full, the URL with the worst quality ranking 5895added and the list is full, the URL with the worst quality ranking
5896(determined through successful downloads and number of HELLOs e.g.) is 5896(determined through successful downloads and number of HELLOs e.g.) is
5897discarded. During shutdown the list of URLs is saved to a file for 5897discarded. During shutdown the list of URLs is saved to a file for
5898persistance and loaded on startup. URLs from the configuration file are 5898persistence and loaded on startup. URLs from the configuration file are
5899never discarded. 5899never discarded.
5900 5900
5901@node Usage 5901@node Usage
@@ -6155,7 +6155,7 @@ To disconnect from NAMESTORE, clients use
6155@code{GNUNET_NAMESTORE_disconnect} and specify the handle to disconnect. 6155@code{GNUNET_NAMESTORE_disconnect} and specify the handle to disconnect.
6156 6156
6157NAMESTORE internally uses the ECDSA private key to refer to zones. These 6157NAMESTORE internally uses the ECDSA private key to refer to zones. These
6158private keys can be obtained from the IDENTITY subsytem. 6158private keys can be obtained from the IDENTITY subsystem.
6159Here @emph{egos} @emph{can be used to refer to zones or the default ego 6159Here @emph{egos} @emph{can be used to refer to zones or the default ego
6160assigned to the GNS subsystem can be used to obtained the master zone's 6160assigned to the GNS subsystem can be used to obtained the master zone's
6161private key.} 6161private key.}
@@ -6640,7 +6640,7 @@ The size of an element's data is limited to around 62 KB.
6640Sets created by a local client can be modified and reused for multiple 6640Sets created by a local client can be modified and reused for multiple
6641operations. As each set operation requires potentially expensive special 6641operations. As each set operation requires potentially expensive special
6642auxiliary data to be computed for each element of a set, a set can only 6642auxiliary data to be computed for each element of a set, a set can only
6643participate in one type of set operation (i.e. union or intersection). 6643participate in one type of set operation (either union or intersection).
6644The type of a set is determined upon its creation. 6644The type of a set is determined upon its creation.
6645If a the elements of a set are needed for an operation of a different 6645If a the elements of a set are needed for an operation of a different
6646type, all of the set's element must be copied to a new set of appropriate 6646type, all of the set's element must be copied to a new set of appropriate
@@ -6811,7 +6811,7 @@ the client.
6811 6811
6812 6812
6813 6813
6814Each listener also requires a seperate client connection. By sending the 6814Each listener also requires a separate client connection. By sending the
6815@code{GNUNET_SERVICE_SET_LISTEN} message, the client notifies the service 6815@code{GNUNET_SERVICE_SET_LISTEN} message, the client notifies the service
6816of the application id and operation type it is interested in. A client 6816of the application id and operation type it is interested in. A client
6817rejects an incoming request by sending @code{GNUNET_SERVICE_SET_REJECT} 6817rejects an incoming request by sending @code{GNUNET_SERVICE_SET_REJECT}
@@ -7147,7 +7147,7 @@ the client.
7147@node Listeners for Intersection 7147@node Listeners for Intersection
7148@subsubsection Listeners for Intersection 7148@subsubsection Listeners for Intersection
7149 7149
7150Each listener also requires a seperate client connection. By sending the 7150Each listener also requires a separate client connection. By sending the
7151@code{GNUNET_SERVICE_SETI_LISTEN} message, the client notifies the service 7151@code{GNUNET_SERVICE_SETI_LISTEN} message, the client notifies the service
7152of the application id and operation type it is interested in. A client 7152of the application id and operation type it is interested in. A client
7153rejects an incoming request by sending @code{GNUNET_SERVICE_SETI_REJECT} 7153rejects an incoming request by sending @code{GNUNET_SERVICE_SETI_REJECT}
@@ -7409,7 +7409,7 @@ the client.
7409@node Listeners for Union 7409@node Listeners for Union
7410@subsubsection Listeners for Union 7410@subsubsection Listeners for Union
7411 7411
7412Each listener also requires a seperate client connection. By sending the 7412Each listener also requires a separate client connection. By sending the
7413@code{GNUNET_SERVICE_SETU_LISTEN} message, the client notifies the service 7413@code{GNUNET_SERVICE_SETU_LISTEN} message, the client notifies the service
7414of the application id and operation type it is interested in. A client 7414of the application id and operation type it is interested in. A client
7415rejects an incoming request by sending @code{GNUNET_SERVICE_SETU_REJECT} 7415rejects an incoming request by sending @code{GNUNET_SERVICE_SETU_REJECT}
@@ -7832,7 +7832,7 @@ performance).
7832Third, an optional Bloom filter can be specified to exclude known results; 7832Third, an optional Bloom filter can be specified to exclude known results;
7833replies that hash to the bits set in the Bloom filter are considered 7833replies that hash to the bits set in the Bloom filter are considered
7834invalid. False-positives can be eliminated by sending the same query 7834invalid. False-positives can be eliminated by sending the same query
7835again with a different Bloom filter mutator value, which parameterizes 7835again with a different Bloom filter mutator value, which parametrizes
7836the hash function that is used. 7836the hash function that is used.
7837Finally, an optional application-specific "eXtended query" (xquery) can 7837Finally, an optional application-specific "eXtended query" (xquery) can
7838be specified to further constrain the results. It is entirely up to 7838be specified to further constrain the results. It is entirely up to
@@ -9030,14 +9030,13 @@ particular key has been revoked. The service responds with a
9030@code{QueryResponseMessage} which simply contains a bit that says if the 9030@code{QueryResponseMessage} which simply contains a bit that says if the
9031given public key is still valid, or if it has been revoked. 9031given public key is still valid, or if it has been revoked.
9032 9032
9033The second possible interaction is for a client to revoke a key by 9033The second possible interaction is for a client to revoke a key by passing a
9034passing a @code{RevokeMessage} to the service. The @code{RevokeMessage} 9034@code{RevokeMessage} to the service. The @code{RevokeMessage} contains the
9035contains the ECDSA public key to be revoked, a signature by the 9035ECDSA public key to be revoked, a signature by the corresponding private key
9036corresponding private key and the proof-of-work, The service responds 9036and the proof-of-work. The service responds with a
9037with a @code{RevocationResponseMessage} which can be used to indicate 9037@code{RevocationResponseMessage} which can be used to indicate that the
9038that the @code{RevokeMessage} was invalid (i.e. proof of work incorrect), 9038@code{RevokeMessage} was invalid (e.g. the proof of work is incorrect), or
9039or otherwise indicates that the revocation has been processed 9039otherwise to indicate that the revocation has been processed successfully.
9040successfully.
9041 9040
9042@node The REVOCATION Peer-to-Peer Protocol 9041@node The REVOCATION Peer-to-Peer Protocol
9043@subsection The REVOCATION Peer-to-Peer Protocol 9042@subsection The REVOCATION Peer-to-Peer Protocol
@@ -9615,9 +9614,9 @@ In order to address the above issues, we want to:
9615 TRANSPORT shall create bi-directional channels from this whenever 9614 TRANSPORT shall create bi-directional channels from this whenever
9616 possible. 9615 possible.
9617@item DV should no longer be a plugin, but part of TRANSPORT. 9616@item DV should no longer be a plugin, but part of TRANSPORT.
9618@item TRANSPORT should provide communicators help communicating (i.e. in the 9617@item TRANSPORT should provide communicators help communicating, for example
9619 case of uni-directional communicators or the need for out-of-band 9618 in the case of uni-directional communicators or the need for out-of-band
9620 signalling for NAT traversal). We call this functionality 9619 signalling for NAT traversal. We call this functionality
9621 @emph{backchannels}. 9620 @emph{backchannels}.
9622@item Transport manipulation should be signalled to CORE on a per-message basis 9621@item Transport manipulation should be signalled to CORE on a per-message basis
9623 instead of an approximate bandwidth. 9622 instead of an approximate bandwidth.
@@ -9715,8 +9714,8 @@ by layer. For example, CADET will always strictly implement reliable and
9715in-order delivery of messages, while the same options are only advisory for 9714in-order delivery of messages, while the same options are only advisory for
9716TRANSPORT and CORE: they should try (using ACKs on unreliable communicators, 9715TRANSPORT and CORE: they should try (using ACKs on unreliable communicators,
9717not changing the message order themselves), but if messages are lost anyway 9716not changing the message order themselves), but if messages are lost anyway
9718(i.e. because a TCP is dropped in the middle), or if messages are reordered 9717(e.g. because a TCP is dropped in the middle), or if messages are reordered
9719(i.e. because they took dierent paths over the network and arrived in a 9718(e.g. because they took different paths over the network and arrived in a
9720different order) TRANSPORT and CORE do not have to correct this. Whether a 9719different order) TRANSPORT and CORE do not have to correct this. Whether a
9721preference is strict or loose is thus dened by the respective layer. 9720preference is strict or loose is thus dened by the respective layer.
9722 9721
@@ -9728,8 +9727,8 @@ The API for communicators is defined in
9728Each communicator must specify its (global) communication characteristics, which 9727Each communicator must specify its (global) communication characteristics, which
9729for now only say whether the communication is reliable (e.g. TCP, HTTPS) or 9728for now only say whether the communication is reliable (e.g. TCP, HTTPS) or
9730unreliable (e.g. UDP, WLAN). Each communicator must specify a unique address 9729unreliable (e.g. UDP, WLAN). Each communicator must specify a unique address
9731prex, or NULL if the communicator cannot establish outgoing connections (i.e. 9730prex, or NULL if the communicator cannot establish outgoing connections
9732is only acting as a TCP server). 9731(for example because it is only acting as a TCP server).
9733A communicator must tell TRANSPORT which addresses it is reachable under. 9732A communicator must tell TRANSPORT which addresses it is reachable under.
9734Addresses may be added or removed at any time. A communicator may have zero 9733Addresses may be added or removed at any time. A communicator may have zero
9735addresses (transmission only). 9734addresses (transmission only).
@@ -9810,7 +9809,7 @@ properties designed for application level usage:
9810@item MESSENGER allows detection for dropped messages by chaining them (messages 9809@item MESSENGER allows detection for dropped messages by chaining them (messages
9811 refer to the last message by their hash) improving accountability 9810 refer to the last message by their hash) improving accountability
9812@item MESSENGER allows requesting messages from other peers explicitly to ensure 9811@item MESSENGER allows requesting messages from other peers explicitly to ensure
9813 availibility 9812 availability
9814@item MESSENGER provides confidentiality by padding messages to few different 9813@item MESSENGER provides confidentiality by padding messages to few different
9815 sizes (512 bytes, 4096 bytes, 32768 bytes and maximal message size from 9814 sizes (512 bytes, 4096 bytes, 32768 bytes and maximal message size from
9816 CADET) 9815 CADET)
@@ -9825,13 +9824,13 @@ Also MESSENGER provides multiple features with privacy in mind:
9825@itemize @bullet 9824@itemize @bullet
9826@item MESSENGER allows deleting messages from all peers in the group by the 9825@item MESSENGER allows deleting messages from all peers in the group by the
9827 original sender (uses the MESSENGER provided verification) 9826 original sender (uses the MESSENGER provided verification)
9828@item MESSENGER allows using the publically known anonymous ego instead of any 9827@item MESSENGER allows using the publicly known anonymous ego instead of any
9829 unique identifying ego 9828 unique identifying ego
9830@item MESSENGER allows your node to decide between acting as host of the used 9829@item MESSENGER allows your node to decide between acting as host of the used
9831 messaging room (sharing your peer's identity with all nodes in the group) 9830 messaging room (sharing your peer's identity with all nodes in the group)
9832 or acting as guest (sharing your peer's identity only with the nodes you 9831 or acting as guest (sharing your peer's identity only with the nodes you
9833 explicitly open a connection to) 9832 explicitly open a connection to)
9834@item MESSENGER handles members independantly of the peer's identity making 9833@item MESSENGER handles members independently of the peer's identity making
9835 forwarded messages indistinguishable from directly received ones ( 9834 forwarded messages indistinguishable from directly received ones (
9836 complicating the tracking of messages and identifying its origin) 9835 complicating the tracking of messages and identifying its origin)
9837@item MESSENGER allows names of members being not unique (also names are 9836@item MESSENGER allows names of members being not unique (also names are
@@ -9977,7 +9976,7 @@ check for completion of a member session requires this information.
9977 9976
9978A member session is a triple of the room key, the member ID and the public key 9977A member session is a triple of the room key, the member ID and the public key
9979of the member's ego. Member sessions allow that a member can change their ID or 9978of the member's ego. Member sessions allow that a member can change their ID or
9980their ego once at a time without loosing the ability to delete old messages or 9979their ego once at a time without losing the ability to delete old messages or
9981identifying the original sender of a message. On every change of ID or EGO a 9980identifying the original sender of a message. On every change of ID or EGO a
9982session will be marked as closed. So every session chain will only contain one 9981session will be marked as closed. So every session chain will only contain one
9983open session with the current ID and public key. 9982open session with the current ID and public key.
diff --git a/doc/handbook/chapters/installation.texi b/doc/handbook/chapters/installation.texi
index 40a23e738..24431e20f 100644
--- a/doc/handbook/chapters/installation.texi
+++ b/doc/handbook/chapters/installation.texi
@@ -171,7 +171,7 @@ group. In addition the group @code{gnunetdns} may be needed (see below).
171 171
172Create user @code{gnunet} who is member of the group @code{gnunet} 172Create user @code{gnunet} who is member of the group @code{gnunet}
173(automatically created) and specify a home directory where the GNUnet 173(automatically created) and specify a home directory where the GNUnet
174services will store persistant data such as information about peers. 174services will store persistent data such as information about peers.
175@example 175@example
176$ sudo useradd --system --home-dir /var/lib/gnunet --create-home gnunet 176$ sudo useradd --system --home-dir /var/lib/gnunet --create-home gnunet
177@end example 177@end example
@@ -431,7 +431,7 @@ For the @emph{multi-user setup} first the system services need to be started
431as the system user, i.e. the user @code{gnunet} needs to execute 431as the system user, i.e. the user @code{gnunet} needs to execute
432@code{gnunet-arm -s}. This should be done by the system's init system. 432@code{gnunet-arm -s}. This should be done by the system's init system.
433Then the user who wants to start GNUnet applications has to run 433Then the user who wants to start GNUnet applications has to run
434@code{gnunet-arm -s} too. It is recommented to automate this, e.g. using 434@code{gnunet-arm -s} too. It is recommended to automate this, e.g. using
435the user's crontab. 435the user's crontab.
436 436
437@node gnunet-gtk 437@node gnunet-gtk
@@ -1355,7 +1355,7 @@ The interface channel depends on the wlan network that the card is
1355connected to. If no connection has been made since the start of the 1355connected to. If no connection has been made since the start of the
1356computer, it is usually the first channel of the card. 1356computer, it is usually the first channel of the card.
1357Peers will only find each other and communicate if they are on the same 1357Peers will only find each other and communicate if they are on the same
1358channel. Channels must be set manually, i.e. using: 1358channel. Channels must be set manually, e.g. by using:
1359 1359
1360@example 1360@example
1361iwconfig wlan0 channel 1 1361iwconfig wlan0 channel 1
@@ -1369,7 +1369,7 @@ proxy forwards the HTTP request he receives with a certain URL to another
1369webserver, here a GNUnet peer. 1369webserver, here a GNUnet peer.
1370 1370
1371So if you have a running Apache or nginx webserver you can configure it to 1371So if you have a running Apache or nginx webserver you can configure it to
1372be a GNUnet reverse proxy. Especially if you have a well-known webiste 1372be a GNUnet reverse proxy. Especially if you have a well-known website
1373this improves censorship resistance since it looks as normal surfing 1373this improves censorship resistance since it looks as normal surfing
1374behaviour. 1374behaviour.
1375 1375
@@ -1944,12 +1944,13 @@ Python installation and its dependencies.
1944 1944
1945Another way to install Ascension on Debian is to install the python3-ascension 1945Another way to install Ascension on Debian is to install the python3-ascension
1946package. It can be found within the above mentioned Ascension git repository. 1946package. It can be found within the above mentioned Ascension git repository.
1947This also adds a system user ascension and runs a GNUnet peer in the 1947This also adds a system user called ascension and runs a GNUnet peer in the
1948background. Attention: This only works if a recent version of GNUnet is 1948background. Please note: This only works if a recent version of GNUnet is
1949installed on your system. The version number of Ascension is chosen according 1949installed on your system. The version number of Ascension is chosen according
1950to the required feature level of GNUnet. I.e. Ascension 0.11.5 is only 1950to the required feature level of GNUnet: Ascension 0.11.5 is only
1951compatible with GNUnet 0.11.5 and upwards. As Debian's packages for GNUnet are 1951compatible with GNUnet 0.11.5 or later and so on.
1952outdated even in experimental, you will need to install GNUnet manually 1952As Debian's packages for GNUnet are outdated even in experimental,
1953you will need to install GNUnet manually
1953@xref{Installing GNUnet}. 1954@xref{Installing GNUnet}.
1954 1955
1955Please check @xref{Migrating an existing DNS zone into GNS}, for usage manual 1956Please check @xref{Migrating an existing DNS zone into GNS}, for usage manual
@@ -2034,11 +2035,11 @@ Furthermore, you can serve as a DNS, IPv4 or IPv6 exit to the Internet.
2034Being a DNS exit is usually pretty harmless. However, enabling IPv4 or 2035Being a DNS exit is usually pretty harmless. However, enabling IPv4 or
2035IPv6-exit without further precautions may enable adversaries to access 2036IPv6-exit without further precautions may enable adversaries to access
2036your local network, send spam, attack other systems from your Internet 2037your local network, send spam, attack other systems from your Internet
2037connection and to other mischief that will appear to come from your 2038connection and do other mischiefs that will appear to come from your
2038machine. This may or may not get you into legal trouble. 2039machine. This may or may not get you into legal trouble.
2039If you want to allow IPv4 or IPv6-exit functionality, you should strongly 2040If you want to allow IPv4 or IPv6-exit functionality, you should strongly
2040consider adding additional firewall rules manually to protect your local 2041consider adding additional firewall rules manually to protect your local
2041network and to restrict outgoing TCP traffic (i.e. by not allowing access 2042network and to restrict outgoing TCP traffic (e.g. by not allowing access
2042to port 25). While we plan to improve exit-filtering in the future, 2043to port 25). While we plan to improve exit-filtering in the future,
2043you're currently on your own here. 2044you're currently on your own here.
2044Essentially, be prepared for any kind of IP-traffic to exit the respective 2045Essentially, be prepared for any kind of IP-traffic to exit the respective
@@ -2159,7 +2160,7 @@ run as use "gnunet" (and with option "-c /etc/gnunet.conf" so that it
2159modifies the system configuration). As always, gnunet-setup should be run 2160modifies the system configuration). As always, gnunet-setup should be run
2160after the GNUnet peer was stopped using "gnunet-arm -e". Distributors 2161after the GNUnet peer was stopped using "gnunet-arm -e". Distributors
2161might want to include a wrapper for gnunet-setup that allows the 2162might want to include a wrapper for gnunet-setup that allows the
2162desktop-user to "sudo" (i.e. using gtksudo) to the "gnunet" user account 2163desktop-user to "sudo" (e.g. using gtksudo) to the "gnunet" user account
2163and then runs "gnunet-arm -e", "gnunet-setup" and "gnunet-arm -s" in 2164and then runs "gnunet-arm -e", "gnunet-setup" and "gnunet-arm -s" in
2164sequence. 2165sequence.
2165 2166
@@ -2175,7 +2176,7 @@ Sane defaults should exist in your
2175you could simply start without any configuration. If you want to 2176you could simply start without any configuration. If you want to
2176configure your peer later, you need to stop it before invoking the 2177configure your peer later, you need to stop it before invoking the
2177@code{gnunet-setup} tool to customize further and to test your 2178@code{gnunet-setup} tool to customize further and to test your
2178configuration (@code{gnunet-setup} has build-in test functions). 2179configuration (@code{gnunet-setup} has built-in test functions).
2179 2180
2180The most important option you might have to still set by hand is in 2181The most important option you might have to still set by hand is in
2181[PATHS]. Here, you use the option "GNUNET_HOME" to specify the path where 2182[PATHS]. Here, you use the option "GNUNET_HOME" to specify the path where
diff --git a/doc/handbook/chapters/keyconcepts.texi b/doc/handbook/chapters/keyconcepts.texi
index f429997bf..49129acf5 100644
--- a/doc/handbook/chapters/keyconcepts.texi
+++ b/doc/handbook/chapters/keyconcepts.texi
@@ -242,7 +242,7 @@ against identification.
242 242
243The messaging service allows the use of an anonymous ego for the signing and 243The messaging service allows the use of an anonymous ego for the signing and
244verification process of messages instead of a unique ego. This anonymous ego is 244verification process of messages instead of a unique ego. This anonymous ego is
245a publically known key pair which is shared between all peers in GNUnet. 245a publicly known key pair which is shared between all peers in GNUnet.
246 246
247Using this ego only ensures that individual messages alone can't identify its 247Using this ego only ensures that individual messages alone can't identify its
248sender inside of a messenger room. It should be clarified that the route of 248sender inside of a messenger room. It should be clarified that the route of
diff --git a/doc/handbook/chapters/philosophy.texi b/doc/handbook/chapters/philosophy.texi
index 060871189..785a65e42 100644
--- a/doc/handbook/chapters/philosophy.texi
+++ b/doc/handbook/chapters/philosophy.texi
@@ -70,7 +70,7 @@ applications.
70@node Practicality 70@node Practicality
71@section Practicality 71@section Practicality
72 72
73Whereever possible GNUnet allows the peer to adjust its operations and 73Wherever possible GNUnet allows the peer to adjust its operations and
74functionalities to specific use cases. A GNUnet peer running on a 74functionalities to specific use cases. A GNUnet peer running on a
75mobile device with limited battery for example might choose not to 75mobile device with limited battery for example might choose not to
76relay traffic for other participants. 76relay traffic for other participants.
diff --git a/doc/handbook/chapters/preface.texi b/doc/handbook/chapters/preface.texi
index 62ced08a4..d1afdf756 100644
--- a/doc/handbook/chapters/preface.texi
+++ b/doc/handbook/chapters/preface.texi
@@ -85,7 +85,7 @@ book which explains GNUnet in the least complicated way to you.
85 85
86Even when you don't want to or can't learn Texinfo, you can contribute. 86Even when you don't want to or can't learn Texinfo, you can contribute.
87Send us an Email or join our IRC chat room on freenode and talk with 87Send us an Email or join our IRC chat room on freenode and talk with
88us about the documentation (the prefered way to reach out is the 88us about the documentation (the preferred way to reach out is the
89mailinglist, since you can communicate with us without waiting on 89mailinglist, since you can communicate with us without waiting on
90someone in the chatroom). 90someone in the chatroom).
91One way or another you can help shape the understanding of GNUnet 91One way or another you can help shape the understanding of GNUnet
@@ -144,7 +144,7 @@ and privacy-preserving online payments. In 2015, the
144@c XXX: but the correct version would lead to problems with 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 145@c XXX: some of our outputs and/or older versions of texinfo
146@c XXX: and devices that display versions on consoles etc. 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 147@c XXX: This is why we keep the pEp until proven that p(triple bar)p
148@c XXX: does not create broken outputs. 148@c XXX: does not create broken outputs.
149@uref{https://pep.foundation/, pretty Easy privacy} (pEp) project 149@uref{https://pep.foundation/, pretty Easy privacy} (pEp) project
150announced that they will use GNUnet as the technology for their 150announced that they will use GNUnet as the technology for their
diff --git a/doc/handbook/chapters/user.texi b/doc/handbook/chapters/user.texi
index b5889891b..409a89e47 100644
--- a/doc/handbook/chapters/user.texi
+++ b/doc/handbook/chapters/user.texi
@@ -71,7 +71,7 @@ $ gnunet-arm -e
71``.pin'' is a default zone which points to a zone managed by gnunet.org. 71``.pin'' is a default zone which points to a zone managed by gnunet.org.
72Use @code{gnunet-config -s gns} to view the GNS configuration, including 72Use @code{gnunet-config -s gns} to view the GNS configuration, including
73all configured zones that are operated by other users. The respective 73all configured zones that are operated by other users. The respective
74configuration entry names start with a ``.'', i.e. ``.pin''. 74configuration entry names start with a ``.'', e.g. ``.pin''.
75 75
76You can configure any number of top-level domains, and point them to 76You can configure any number of top-level domains, and point them to
77the respective zones of your friends! For this, simply obtain the 77the respective zones of your friends! For this, simply obtain the
@@ -109,7 +109,7 @@ rules - GO0T87F9BPMF8NKD5A54L2AH1T0GRML539TPFSRMCEA98182QD30
109@subsection The GNS Tab 109@subsection The GNS Tab
110 110
111 111
112Maintaing your zones is through the NAMESTORE service and is discussed 112Maintaining your zones is through the NAMESTORE service and is discussed
113here. You can manage your zone using @command{gnunet-identity} and 113here. You can manage your zone using @command{gnunet-identity} and
114@command{gnunet-namestore}, or most conveniently using 114@command{gnunet-namestore}, or most conveniently using
115@command{gnunet-namestore-gtk}. 115@command{gnunet-namestore-gtk}.
@@ -1620,7 +1620,7 @@ under "*.friend.gnu".
1620BOX records are there to integrate information from TLSA or 1620BOX records are there to integrate information from TLSA or
1621SRV records under the main label. In DNS, TLSA and SRV records 1621SRV records under the main label. In DNS, TLSA and SRV records
1622use special names of the form @code{_port._proto.(label.)*tld} to 1622use special names of the form @code{_port._proto.(label.)*tld} to
1623indicate the port number and protocol (i.e. tcp or udp) for which 1623indicate the port number and protocol (like TCP or UDP) for which
1624the TLSA or SRV record is valid. This causes various problems, and 1624the TLSA or SRV record is valid. This causes various problems, and
1625is elegantly solved in GNS by integrating the protocol and port 1625is elegantly solved in GNS by integrating the protocol and port
1626numbers together with the respective value into a "BOX" record. 1626numbers together with the respective value into a "BOX" record.
@@ -1633,7 +1633,7 @@ are BOXed up.
1633@subsubsection LEHO 1633@subsubsection LEHO
1634 1634
1635The LEgacy HOstname of a server. Some webservers expect a specific 1635The LEgacy HOstname of a server. Some webservers expect a specific
1636hostname to provide a service (virtiual hosting). Also SSL 1636hostname to provide a service (virtual hosting). Also SSL
1637certificates usually contain DNS names. To provide the expected 1637certificates usually contain DNS names. To provide the expected
1638legacy DNS name for a server, the LEHO record can be used. 1638legacy DNS name for a server, the LEHO record can be used.
1639To mitigate the just mentioned issues the GNS proxy has to be used. 1639To mitigate the just mentioned issues the GNS proxy has to be used.
@@ -1700,7 +1700,7 @@ be useful if you do not want to start resolution in the DNS root zone
1700(due to issues such as censorship or availability). 1700(due to issues such as censorship or availability).
1701 1701
1702Note that you would typically want to use a relative name for the 1702Note that you would typically want to use a relative name for the
1703nameserver, i.e. 1703nameserver, like so:
1704 1704
1705@example 1705@example
1706Name: pet; RRType: GNS2DNS; Value: gnunet.org@@ns-joker.+@ 1706Name: pet; RRType: GNS2DNS; Value: gnunet.org@@ns-joker.+@
@@ -2244,7 +2244,7 @@ that subnet to the GNUnet exit's TUN interface.
2244 2244
2245When running a local service, you should make sure that the local 2245When running a local service, you should make sure that the local
2246service is (also) bound to the IP address of your EXIT interface 2246service is (also) bound to the IP address of your EXIT interface
2247(i.e. 169.254.86.1). It will NOT work if your local service is 2247(e.g. 169.254.86.1). It will NOT work if your local service is
2248just bound to loopback. You may also want to create a "VPN" record 2248just bound to loopback. You may also want to create a "VPN" record
2249in your zone of the GNU Name System to make it easy for others to 2249in your zone of the GNU Name System to make it easy for others to
2250access your service via a name instead of just the full service 2250access your service via a name instead of just the full service
@@ -2315,7 +2315,7 @@ and restart your peer, your Internet traffic should be tunneled
2315over the GNUnet VPN. 2315over the GNUnet VPN.
2316 2316
2317The GNUnet VPN uses DNS-ALG to hijack your IP traffic. Whenever an 2317The GNUnet VPN uses DNS-ALG to hijack your IP traffic. Whenever an
2318application resolves a hostname (i.e. 'gnunet.org'), the 2318application resolves a hostname (like 'gnunet.org'), the
2319"gnunet-daemon-pt" will instruct the "gnunet-service-dns" to intercept 2319"gnunet-daemon-pt" will instruct the "gnunet-service-dns" to intercept
2320the request (possibly route it over GNUnet as well) and replace the 2320the request (possibly route it over GNUnet as well) and replace the
2321normal answer with an IP in the range of the VPN's interface. 2321normal answer with an IP in the range of the VPN's interface.
@@ -2325,8 +2325,8 @@ destination.
2325 2325
2326For applications that do not use DNS, you can also manually create 2326For applications that do not use DNS, you can also manually create
2327such a mapping using the gnunet-vpn command-line tool. Here, you 2327such a mapping using the gnunet-vpn command-line tool. Here, you
2328specify the desired address family of the result (i.e. "-4"), and the 2328specify the desired address family of the result (e.g. "-4"), and the
2329intended target IP on the Internet ("-i 131.159.74.67") and 2329intended target IP on the Internet (e.g. "-i 131.159.74.67") and
2330"gnunet-vpn" will tell you which IP address in the range of your 2330"gnunet-vpn" will tell you which IP address in the range of your
2331VPN tunnel was mapped. 2331VPN tunnel was mapped.
2332 2332
@@ -2404,7 +2404,7 @@ $ gnunet-peerinfo -s
2404 2404
2405A ROOMKEY gets entered in readable text form. The service will then hash the 2405A ROOMKEY gets entered in readable text form. The service will then hash the
2406entered ROOMKEY and use the result as shared secret for transmission through 2406entered ROOMKEY and use the result as shared secret for transmission through
2407the CADET submodule. You can also optionally leave out the '-r' paramter and 2407the CADET submodule. You can also optionally leave out the '-r' parameter and
2408the ROOMKEY to use the zeroed hash instead. 2408the ROOMKEY to use the zeroed hash instead.
2409 2409
2410If no IDENTITY is provided you will not send any name to others, you will be 2410If no IDENTITY is provided you will not send any name to others, you will be
@@ -2478,7 +2478,7 @@ $ gnunet-messenger [-e IDENTITY] -d PEERIDENTITY -r ROOMKEY -p
2478@end example 2478@end example
2479 2479
2480Notice that you can only send such encrypted messages to members who use an ego 2480Notice that you can only send such encrypted messages to members who use an ego
2481which is not publically known as the anonymous ego to ensure transparency. If 2481which is not publicly known as the anonymous ego to ensure transparency. If
2482any user could decrypt these messages they would not be private. So as receiver 2482any user could decrypt these messages they would not be private. So as receiver
2483of such messages the IDENTITY is required and it has to match a local ego. 2483of such messages the IDENTITY is required and it has to match a local ego.
2484 2484
diff --git a/doc/index.html b/doc/index.html
index 93c0e7d9e..bf8683780 100644
--- a/doc/index.html
+++ b/doc/index.html
@@ -2,7 +2,7 @@
2 <head> 2 <head>
3 <title>GNUnet - GNUnet Manuals and Handbooks</title> 3 <title>GNUnet - GNUnet Manuals and Handbooks</title>
4 <meta charset="utf-8"> 4 <meta charset="utf-8">
5 <meta name="keywords" content="gnunet,GNUnet,Manual,Manuals,preview,developer-preview,inofficial,GNU"> 5 <meta name="keywords" content="gnunet,GNUnet,Manual,Manuals,preview,developer-preview,unofficial,GNU">
6 <meta name="description" content="The GNUnet Manuals"> 6 <meta name="description" content="The GNUnet Manuals">
7 <link href="style.css" rel="stylesheet"> 7 <link href="style.css" rel="stylesheet">
8 <meta name="viewport" content="width=device-width, initial-scale=1"> 8 <meta name="viewport" content="width=device-width, initial-scale=1">
diff --git a/doc/man/gnunet-config.1 b/doc/man/gnunet-config.1
index f6166cbca..3d243af89 100644
--- a/doc/man/gnunet-config.1
+++ b/doc/man/gnunet-config.1
@@ -39,13 +39,13 @@
39.Op Fl s Ar SECTION | Fl -section= Ns Ar SECTION 39.Op Fl s Ar SECTION | Fl -section= Ns Ar SECTION
40.Op Fl V Ar VALUE | Fl -value Ar VALUE 40.Op Fl V Ar VALUE | Fl -value Ar VALUE
41.Op Fl v | -version 41.Op Fl v | -version
42.Op Fl W | -rewrite 42.Op Fl w | -rewrite
43.Sh DESCRIPTION 43.Sh DESCRIPTION
44.Nm 44.Nm
45can be used to read or modify GNUnet configuration files. 45can be used to read or modify GNUnet configuration files.
46.Bl -tag -width indent 46.Bl -tag -width indent
47.It Fl b Ar BACKEND | Fl -supported-backend= Ns Ar BACKEND 47.It Fl b Ar BACKEND | Fl -supported-backend= Ns Ar BACKEND
48Tests whether the specified BACKEND is supported by the current installation. The backend must match the name of a plugin, i.e. "namestore_postgres" for the Postgres database backend of the "NAMESTORE" service. If the BACKEND is supported, gnunet-config will return a status code of 0 (success), otherwise 77 (unsupported). When this option is specified, no other options may be specified. Specifying this option together with other options will cause gnunet-config to return a status code of 1 (error). 48Tests whether the specified BACKEND is supported by the current installation. The backend must match the name of a plugin, e.g. "namestore_postgres" for the Postgres database backend of the "NAMESTORE" service. If the BACKEND is supported, gnunet-config will return a status code of 0 (success), otherwise 77 (unsupported). When this option is specified, no other options may be specified. Specifying this option together with other options will cause gnunet-config to return a status code of 1 (error).
49.It Fl c Ar FILENAME | Fl -config= Ns Ar FILENAME 49.It Fl c Ar FILENAME | Fl -config= Ns Ar FILENAME
50Use the configuration file FILENAME. 50Use the configuration file FILENAME.
51.It Fl f | -filename 51.It Fl f | -filename
@@ -69,8 +69,8 @@ Configuration value to store in the given section under the given option.
69Must only be given together with -s and -o options. 69Must only be given together with -s and -o options.
70.It Fl v | -version 70.It Fl v | -version
71Print GNUnet version number. 71Print GNUnet version number.
72.It Fl W | -rewrite 72.It Fl w | -rewrite
73Consider differences to defaults only. 73Write to file the full configuration, including default values, instead of just the differences.
74.El 74.El
75.Sh SEE ALSO 75.Sh SEE ALSO
76The full documentation for gnunet is maintained as a Texinfo manual. 76The full documentation for gnunet is maintained as a Texinfo manual.
diff --git a/doc/man/gnunet-datastore.1 b/doc/man/gnunet-datastore.1
index 81347dcae..842ba62a0 100644
--- a/doc/man/gnunet-datastore.1
+++ b/doc/man/gnunet-datastore.1
@@ -41,7 +41,7 @@
41.Nm 41.Nm
42can be used to backup and restore or merge GNUnet datastores. 42can be used to backup and restore or merge GNUnet datastores.
43This is useful if a datastore is to be migrated between 43This is useful if a datastore is to be migrated between
44SQL databases, i.e. from sqlite to postgres or vice versa. 44SQL databases, e.g. from sqlite to postgres or vice versa.
45gnunet-datastore will dump the entire contents of the database 45gnunet-datastore will dump the entire contents of the database
46or insert a dump file into the database. 46or insert a dump file into the database.
47.Bl -tag -width indent 47.Bl -tag -width indent
diff --git a/doc/man/gnunet-namestore.1 b/doc/man/gnunet-namestore.1
index b9bbff027..73bbe5a5c 100644
--- a/doc/man/gnunet-namestore.1
+++ b/doc/man/gnunet-namestore.1
@@ -109,7 +109,7 @@ Create a record that is a shadow record.
109Shadow records are only used once all other records of the same type 109Shadow records are only used once all other records of the same type
110under the same label have expired. 110under the same label have expired.
111.It Fl t Ar TYPE | Fl -type= Ns Ar TYPE 111.It Fl t Ar TYPE | Fl -type= Ns Ar TYPE
112Type of the record to add/delete/display (i.e. "A", "AAAA", "NS", "PKEY", "MX" etc.). 112Type of the record to add/delete/display ("A"; "AAAA"; "NS"; "PKEY"; "MX"; etc.).
113.It Fl u Ar URI | Fl -uri= Ns Ar URI 113.It Fl u Ar URI | Fl -uri= Ns Ar URI
114Add PKEY record from gnunet://gns/-URI to our zone; the record type is 114Add PKEY record from gnunet://gns/-URI to our zone; the record type is
115always PKEY, if no expiration is given FOREVER is used 115always PKEY, if no expiration is given FOREVER is used
diff --git a/doc/release_policy.rfc.txt b/doc/release_policy.rfc.txt
index 8fd89f73c..41c98ec93 100644
--- a/doc/release_policy.rfc.txt
+++ b/doc/release_policy.rfc.txt
@@ -42,7 +42,7 @@ document the current release model:
42 mostly we rather explicitly declare certain bugs as "not critical") 42 mostly we rather explicitly declare certain bugs as "not critical")
43 - Whenever API changes happen the person making that changes should update 43 - Whenever API changes happen the person making that changes should update
44 dependencies or at least work with people who hack on the dependencies to 44 dependencies or at least work with people who hack on the dependencies to
45 cooridnate the adjustments 45 coordinate the adjustments
46 o buildbots are happy (if running) 46 o buildbots are happy (if running)
47 o static analysis is happy (if available, false-positives => ignore) 47 o static analysis is happy (if available, false-positives => ignore)
48 o documentation is reasonably up-to-date 48 o documentation is reasonably up-to-date
@@ -57,7 +57,7 @@ For further information see: https://trunkbaseddevelopment.com/
57 57
58II. Evaluation Criteria 58II. Evaluation Criteria
59======================= 59=======================
60(what are criterias to interprete the results as success if we review 60(what are criteria to interpret the results as success if we review
61the problem and solution after a year or so) 61the problem and solution after a year or so)
62 62
63III. Concerns (of team members) 63III. Concerns (of team members)
@@ -74,7 +74,7 @@ code. I don't have a magic bullet to motivate you to write more tests,
74or to improve existing tests. -CG 74or to improve existing tests. -CG
75 75
76 Your argument is good. Two or three of us thought that the problem is about 76 Your argument is good. Two or three of us thought that the problem is about
77 missing releases which we feld demotivating. We thought, we were stucked 77 missing releases which we feld demotivating. We thought, we were stuck
78 somewhere. But as you state, it is us not doing the necessary work. What I 78 somewhere. But as you state, it is us not doing the necessary work. What I
79 still find useful is to document the release process. In consequence I 79 still find useful is to document the release process. In consequence I
80 changed the problem statement. -xrs 80 changed the problem statement. -xrs
@@ -125,7 +125,7 @@ leaves of the dependency graph, that is great. However, occasionally
125there are architectural changes. Not of the type where the graph 125there are architectural changes. Not of the type where the graph
126changes, but where key API assumptions change. We recently had one for 126changes, but where key API assumptions change. We recently had one for
127the GNU Name System with the dropping of ".gnu". Before, CADET 127the GNU Name System with the dropping of ".gnu". Before, CADET
128changed the semantics and paramter for 'port'. In the future, CORE 128changed the semantics and parameter for 'port'. In the future, CORE
129will introduce protocol versioning. Whenever such a change happens, 129will introduce protocol versioning. Whenever such a change happens,
130it usually falls upon the person making that change to update 130it usually falls upon the person making that change to update
131dependencies as well (or at least to work with people who hack on the 131dependencies as well (or at least to work with people who hack on the
@@ -175,7 +175,7 @@ Note that none of this really adds up to a "release policy".
175V. Previous Versions 175V. Previous Versions
176==================== 176====================
177(if we found some flaws in the solution, and we want to change the 177(if we found some flaws in the solution, and we want to change the
178release policy, we document the old ones here als previous versions. 178release policy, we document the old ones here as previous versions.
179the goal is establish a learn process.) 179the goal is establish a learn process.)
180 180
181IV. References 181IV. References
diff --git a/doc/tutorial/tutorial.texi b/doc/tutorial/tutorial.texi
index e1d70c492..0a011c0c8 100644
--- a/doc/tutorial/tutorial.texi
+++ b/doc/tutorial/tutorial.texi
@@ -282,7 +282,7 @@ Assuming all dependencies are installed, the following commands will
282compile and install GNUnet in your home directory. You can specify the 282compile and install GNUnet in your home directory. You can specify the
283directory where GNUnet will be installed by changing the 283directory where GNUnet will be installed by changing the
284@code{--prefix} value when calling @command{./configure}. If 284@code{--prefix} value when calling @command{./configure}. If
285you do not specifiy a prefix, GNUnet is installed in the directory 285you do not specify a prefix, GNUnet is installed in the directory
286@file{/usr/local}. When developing new applications you may want 286@file{/usr/local}. When developing new applications you may want
287to enable verbose logging by adding @code{--enable-logging=verbose}: 287to enable verbose logging by adding @code{--enable-logging=verbose}:
288 288
@@ -940,7 +940,7 @@ with the service, a connection must be created:
940As a result a @code{GNUNET\_MQ\_Handle} is returned 940As a result a @code{GNUNET\_MQ\_Handle} is returned
941which can to used henceforth to transmit messages to the service. 941which can to used henceforth to transmit messages to the service.
942The complete MQ API can be found in @file{gnunet\_mq\_lib.h}. 942The complete MQ API can be found in @file{gnunet\_mq\_lib.h}.
943The @code{hanlders} array in the example above is incomplete. 943The @code{handlers} array in the example above is incomplete.
944Here is where you will define which messages you expect to 944Here is where you will define which messages you expect to
945receive from the service, and which functions handle them. 945receive from the service, and which functions handle them.
946The @code{error\_cb} is a function that is to be called whenever 946The @code{error\_cb} is a function that is to be called whenever
@@ -1060,7 +1060,7 @@ functions, typically called @code{run}, @code{client\_connect\_cb} and
1060@code{client\_disconnect\_cb} as well as an array of message handlers 1060@code{client\_disconnect\_cb} as well as an array of message handlers
1061that will be called for incoming messages from clients. 1061that will be called for incoming messages from clients.
1062 1062
1063A minimal version of the three central service funtions would look 1063A minimal version of the three central service functions would look
1064like this: 1064like this:
1065 1065
1066@example 1066@example
@@ -1093,7 +1093,7 @@ forget to call @code{GNUNET\_SERVICE\_client\_continue()}?
1093@node Interacting directly with other Peers using the CORE Service 1093@node Interacting directly with other Peers using the CORE Service
1094@section Interacting directly with other Peers using the CORE Service 1094@section Interacting directly with other Peers using the CORE Service
1095 1095
1096FIXME: This section still needs to be updated to the lastest API! 1096FIXME: This section still needs to be updated to the latest API!
1097 1097
1098One of the most important services in GNUnet is the @code{CORE} service 1098One of the most important services in GNUnet is the @code{CORE} service
1099managing connections between peers and handling encryption between peers. 1099managing connections between peers and handling encryption between peers.
@@ -1349,7 +1349,7 @@ sent. This does not guarantee that the data is accessible to others peers,
1349or even that is has been stored, only that the service has requested to 1349or even that is has been stored, only that the service has requested to
1350a neighboring peer the retransmission of the PUT request towards its final 1350a neighboring peer the retransmission of the PUT request towards its final
1351destination. Currently there is no feedback about whether or not the data 1351destination. Currently there is no feedback about whether or not the data
1352has been sucessfully stored or where it has been stored. In order to 1352has been successfully stored or where it has been stored. In order to
1353improve the availablilty of the data and to compensate for possible 1353improve the availablilty of the data and to compensate for possible
1354errors, peers leaving and other unfavorable events, just make several 1354errors, peers leaving and other unfavorable events, just make several
1355PUT requests! 1355PUT requests!
@@ -1504,7 +1504,7 @@ GET request, a PUT request or a response (a reply to a GET).
1504Since the different events have different associated data, 1504Since the different events have different associated data,
1505the API gets 3 different callbacks (one for each message type) 1505the API gets 3 different callbacks (one for each message type)
1506and optional type and key parameters, to allow for filtering of 1506and optional type and key parameters, to allow for filtering of
1507messages. When an event happens, the appropiate callback is 1507messages. When an event happens, the appropriate callback is
1508called with all the information about the event. 1508called with all the information about the event.
1509 1509
1510@example 1510@example